home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume26 / cook-1.4 / part01 next >
Encoding:
Text File  |  1993-05-03  |  101.6 KB  |  3,669 lines

  1. Newsgroups: comp.sources.unix
  2. From: pmiller@bmr.gov.au (Peter Miller)
  3. Subject: v26i209: cook-1.4 - a file construction tool (like "make"), Part01/11
  4. Sender: unix-sources-moderator@efficacy.home.vix.com
  5. Approved: WhoAmI@efficacy.home.vix.com
  6.  
  7. Submitted-By: pmiller@bmr.gov.au (Peter Miller)
  8. Posting-Number: Volume 26, Issue 209
  9. Archive-Name: cook-1.4/part01
  10.  
  11. NAME
  12.        cook - a    file construction tool
  13.  
  14. DESCRIPTION
  15.        Put simply, the cook program is yet another make-oid.
  16.  
  17.        The cook    program    is a tool for constructing files.  It is
  18.        given a set of files to create, and recipes of how to
  19.        create them.  In    any non-trivial    program    there will be
  20.        prerequisites to    performing the actions necessary to
  21.        creating    any file, such as include files.  The cook
  22.        program provides    a mechanism to define these.
  23.  
  24.        When a program is being developed or maintained,    the
  25.        programmer will typically change    one file of several which
  26.        comprise    the program.  The cook program examines    the last-
  27.        modified    times of the files to see when the prerequisites
  28.        of a file have changed, implying    that the file needs to be
  29.        recreated as it is logically out    of date.
  30.  
  31.        The cook    program    also provides a    facility for implicit
  32.        recipes,    allowing users to specify how to form a    file with
  33.        a given suffix from a file with a different suffix.  For
  34.        example,    to create filename.o from filename.c
  35.  
  36. AUTHOR
  37.        Peter Miller   UUCP     uunet!munnari!bmr.gov.au!pmiller
  38.        /\/\*          Internet     pmiller@bmr.gov.au
  39.  
  40. #! /bin/sh
  41. # This is a shell archive.  Remove anything before this line, then unpack
  42. # it by saving it into a file and typing "sh file".  To overwrite existing
  43. # files, type "sh file -c".  You can also feed this as standard input via
  44. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  45. # will see the following message at the end:
  46. #        "End of archive 1 (of 11)."
  47. # Contents:  MANIFEST README aux aux/CHANGES.sh aux/Makefile.awk c_incl
  48. #   c_incl/cache.h c_incl/os.h common common/help.h common/main.h
  49. #   common/mem.h common/patchlevel.h common/version.h conf cook
  50. #   cook/builtin.h cook/env.h cook/glob.h cook/hashline.h
  51. #   cook/listing.h cook/parse.h cooktime cooktime/date.h doc
  52. #   doc/version.so find_libs find_libs/os.h h h/float.h h/limits.h
  53. #   h/stdarg.h-min h/stddef.h h/stdlib.h h/string.h h/time.h lib
  54. #   lib/as lib/gcc lib/home lib/print lib/sccs lib/text lib/usr
  55. #   lib/usr.local man1 man1/install.sh roffpp roffpp/preprocess.h test
  56. #   test/00 test/00/t0001a.sh test/00/t0003a.sh test/00/t0004a.sh
  57. #   test/00/t0006a.sh test/00/t0008a.sh test/00/t0010a.sh
  58. #   test/00/t0011a.sh test/00/t0012a.sh test/00/t0013a.sh
  59. #   test/00/t0014a.sh test/00/t0016a.sh test/00/t0017a.sh
  60. #   test/00/t0019a.sh test/00/t0020a.sh test/00/t0021a.sh
  61. #   test/00/t0022a.sh test/00/t0023a.sh test/00/t0025a.sh
  62. #   test/00/t0026a.sh test/00/t0028a.sh test/00/t0029a.sh
  63. #   test/00/t0033a.sh test/00/t0035a.sh test/00/t0036a.sh
  64. # Wrapped by vixie@efficacy.home.vix.com on Tue May  4 01:36:33 1993
  65. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  66. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  67.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  68. else
  69. echo shar: Extracting \"'MANIFEST'\" \(5986 characters\)
  70. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  71. X   File Name        Archive #    Description
  72. X-----------------------------------------------------------
  73. X BUILDING                   4    
  74. X CHANGES                   10    
  75. X LICENSE                    8    
  76. X MANIFEST                   1    
  77. X Makefile                   7    
  78. X README                     1    
  79. X aux                        1    
  80. X aux/BUILDING.man           5    
  81. X aux/CHANGES.sh             1    
  82. X aux/Howto.cook             5    
  83. X aux/MANIFEST.sh            2    
  84. X aux/Makefile.awk           1    
  85. X aux/Makefile.sh            5    
  86. X aux/README.man             4    
  87. X aux/patches.sh             3    
  88. X c_incl                     1    
  89. X c_incl/cache.c             6    
  90. X c_incl/cache.h             1    
  91. X c_incl/lang_c.c            3    
  92. X c_incl/lang_roff.c         3    
  93. X c_incl/main.c              6    
  94. X c_incl/os.c                2    
  95. X c_incl/os.h                1    
  96. X c_incl/sniff.c             6    
  97. X c_incl/sniff.h             2    
  98. X common                     1    
  99. X common/ansi.c              2    
  100. X common/arglex.c            6    
  101. X common/arglex.h            2    
  102. X common/error.c             5    
  103. X common/error.h             2    
  104. X common/help.c              3    
  105. X common/help.h              1    
  106. X common/main.h              1    
  107. X common/mem.c               3    
  108. X common/mem.h               1    
  109. X common/patchlevel.h        1    
  110. X common/s-v-arg.h           2    
  111. X common/str.c               8    
  112. X common/str.h               2    
  113. X common/trace.c             4    
  114. X common/trace.h             3    
  115. X common/version.c           7    
  116. X common/version.h           1    
  117. X common/word.c              4    
  118. X common/word.h              2    
  119. X conf                       1    
  120. X conf/ConvexOS-10           2    
  121. X conf/SunOS-4.1.2           2    
  122. X conf/SunOS-4.1.3           2    
  123. X conf/SysV-4.0              2    
  124. X conf/ULTRIX-4.2            2    
  125. X conf/dcosx                 3    
  126. X conf/dgux-5.4.1            2    
  127. X config                     6    
  128. X cook                       1    
  129. X cook/builtin.c            11    
  130. X cook/builtin.h             1    
  131. X cook/cook.c               10    
  132. X cook/cook.h                3    
  133. X cook/env.c                 3    
  134. X cook/env.h                 1    
  135. X cook/expr.c                6    
  136. X cook/expr.h                2    
  137. X cook/glob.c                5    
  138. X cook/glob.h                1    
  139. X cook/hashline.h            1    
  140. X cook/hashline.y            6    
  141. X cook/id.c                  7    
  142. X cook/id.h                  2    
  143. X cook/lex.c                 9    
  144. X cook/lex.h                 2    
  145. X cook/listing.c             3    
  146. X cook/listing.h             1    
  147. X cook/main.c                8    
  148. X cook/match.c               7    
  149. X cook/match.h               2    
  150. X cook/option.c              4    
  151. X cook/option.h              3    
  152. X cook/os.c                  9    
  153. X cook/os.h                  2    
  154. X cook/parse.h               1    
  155. X cook/parse.y               5    
  156. X cook/stmt.c                7    
  157. X cook/stmt.h                3    
  158. X cooktime                   1    
  159. X cooktime/date.h            1    
  160. X cooktime/date.y            9    
  161. X cooktime/main.c            4    
  162. X doc                        1    
  163. X doc/builtin                5    
  164. X doc/cmdline                4    
  165. X doc/conditions             2    
  166. X doc/glossary               3    
  167. X doc/history                2    
  168. X doc/how                    4    
  169. X doc/intro                  2    
  170. X doc/intro.aa               3    
  171. X doc/intro.bb               4    
  172. X doc/language               8    
  173. X doc/match                  3    
  174. X doc/option                 3    
  175. X doc/refman.t               2    
  176. X doc/system                 5    
  177. X doc/variables              2    
  178. X doc/version.so             1    
  179. X find_libs                  1    
  180. X find_libs/main.c           4    
  181. X find_libs/os.c             2    
  182. X find_libs/os.h             1    
  183. X h                          1    
  184. X h/float.h                  1    
  185. X h/limits.h                 1    
  186. X h/stdarg.h-min             1    
  187. X h/stddef.h                 1    
  188. X h/stdlib.h                 1    
  189. X h/string.h                 1    
  190. X h/time.h                   1    
  191. X lib                        1    
  192. X lib/as                     1    
  193. X lib/bison                  2    
  194. X lib/c                      3    
  195. X lib/gcc                    1    
  196. X lib/home                   1    
  197. X lib/lex                    2    
  198. X lib/library                3    
  199. X lib/print                  1    
  200. X lib/program                3    
  201. X lib/sccs                   1    
  202. X lib/text                   1    
  203. X lib/usr                    1    
  204. X lib/usr.local              1    
  205. X lib/yacc                   3    
  206. X lib/yacc_many              3    
  207. X man1                       1    
  208. X man1/c_incl.1              3    
  209. X man1/cook.1                4    
  210. X man1/cooktime.1            3    
  211. X man1/copyright.so          2    
  212. X man1/find_libs.1           2    
  213. X man1/install.sh            1    
  214. X man1/o__rules.so           2    
  215. X man1/roffpp.1              3    
  216. X roffpp                     1    
  217. X roffpp/main.c              4    
  218. X roffpp/preprocess.c        5    
  219. X roffpp/preprocess.h        1    
  220. X test                       1    
  221. X test/00                    1    
  222. X test/00/t0001a.sh          1    
  223. X test/00/t0002a.sh          2    
  224. X test/00/t0003a.sh          1    
  225. X test/00/t0004a.sh          1    
  226. X test/00/t0005a.sh          2    
  227. X test/00/t0006a.sh          1    
  228. X test/00/t0007a.sh          2    
  229. X test/00/t0008a.sh          1    
  230. X test/00/t0009a.sh          2    
  231. X test/00/t0010a.sh          1    
  232. X test/00/t0011a.sh          1    
  233. X test/00/t0012a.sh          1    
  234. X test/00/t0013a.sh          1    
  235. X test/00/t0014a.sh          1    
  236. X test/00/t0015a.sh          2    
  237. X test/00/t0016a.sh          1    
  238. X test/00/t0017a.sh          1    
  239. X test/00/t0018a.sh          2    
  240. X test/00/t0019a.sh          1    
  241. X test/00/t0020a.sh          1    
  242. X test/00/t0021a.sh          1    
  243. X test/00/t0022a.sh          1    
  244. X test/00/t0023a.sh          1    
  245. X test/00/t0024a.sh          2    
  246. X test/00/t0025a.sh          1    
  247. X test/00/t0026a.sh          1    
  248. X test/00/t0027a.sh          2    
  249. X test/00/t0028a.sh          1    
  250. X test/00/t0029a.sh          1    
  251. X test/00/t0030a.sh          2    
  252. X test/00/t0031a.sh          2    
  253. X test/00/t0032a.sh          2    
  254. X test/00/t0033a.sh          1    
  255. X test/00/t0034a.sh          2    
  256. X test/00/t0035a.sh          1    
  257. X test/00/t0036a.sh          1    
  258. X test/00/t0037a.sh          2    
  259. X test/00/t0038a.sh          3    
  260. X test/00/t0039a.sh          2    
  261. X test/00/t0040a.sh          2    
  262. X test/00/t0041a.sh          3    
  263. END_OF_FILE
  264. if test 5986 -ne `wc -c <'MANIFEST'`; then
  265.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  266. fi
  267. # end of 'MANIFEST'
  268. fi
  269. if test -f 'README' -a "${1}" != "-c" ; then 
  270.   echo shar: Will not clobber existing file \"'README'\"
  271. else
  272. echo shar: Extracting \"'README'\" \(6506 characters\)
  273. sed "s/^X//" >'README' <<'END_OF_FILE'
  274. X
  275. X
  276. X
  277. Xreadme(cook)                         readme(cook)
  278. X
  279. X
  280. XNAME
  281. X       cook - a    file construction tool
  282. X
  283. XDESCRIPTION
  284. X       Put simply, the cook program is yet another make-oid.
  285. X
  286. X       The cook    program    is a tool for constructing files.  It is
  287. X       given a set of files to create, and recipes of how to
  288. X       create them.  In    any non-trivial    program    there will be
  289. X       prerequisites to    performing the actions necessary to
  290. X       creating    any file, such as include files.  The cook
  291. X       program provides    a mechanism to define these.
  292. X
  293. X       When a program is being developed or maintained,    the
  294. X       programmer will typically change    one file of several which
  295. X       comprise    the program.  The cook program examines    the last-
  296. X       modified    times of the files to see when the prerequisites
  297. X       of a file have changed, implying    that the file needs to be
  298. X       recreated as it is logically out    of date.
  299. X
  300. X       The cook    program    also provides a    facility for implicit
  301. X       recipes,    allowing users to specify how to form a    file with
  302. X       a given suffix from a file with a different suffix.  For
  303. X       example,    to create filename.o from filename.c
  304. X
  305. XHISTORY
  306. X       The cook    program    was originally developed (starting in
  307. X       1988) because I was marooned on an operating system
  308. X       without anything    even vaguely resembling    make(1).  Since    I
  309. X       had to write my own, I added a few improvements.     When I
  310. X       finally escaped back to UNIX, it    took only two days to
  311. X       port cook to SystemV.  I    have since deleted all code for
  312. X       that original operating system, although    clues to its
  313. X       identity    are still present.  There is no    prize for
  314. X       guessing    what it    was.
  315. X
  316. X       After I had cook    up on UNIX, the    progress the world had
  317. X       made caught up with me.    It was gratifying that many of
  318. X       the features other make-oid authors had thought necessary
  319. X       were either already present, or easily and seamlessly
  320. X       added.
  321. X
  322. XARCHIVE    SITE
  323. X       The latest version of cook is available by anonymous ftp
  324. X       from:
  325. X       Host:   ftp.cse.nau.edu (134.114.64.70)
  326. X       Dir:       /pub/Aegis
  327. X       File:   README          #    what is    in this    directory
  328. X       File:   cook.1.4.tar.Z     #    the complete source
  329. X       File:   cook.1.4.patch.Z   #    patch to take 1.3 to 1.4
  330. X       File:   cook.1.4.ps.Z      #    PostScript of the Manual
  331. X
  332. X       To use anonymous    ftp, give "anonymous" as the user name
  333. X       (omit the quotes) and your email    address    as the password.
  334. X
  335. X
  336. X
  337. X                                1
  338. X
  339. X
  340. X
  341. X
  342. X
  343. Xreadme(cook)                         readme(cook)
  344. X
  345. X
  346. X       My grateful thanks to Paul Balyoz <pab@ftp.cse.nau.edu>
  347. X       for his generosity in providing this archive space.
  348. X
  349. X       This directory also contains a few other    pieces of
  350. X       software    written    by me.    Please have a look if you are
  351. X       interested.
  352. X
  353. X       For those of you    without    ftp, I recommend the use of an
  354. X       ftp-by-email server.  Here is a list of a few (there are
  355. X       many more):
  356. X          mail-server@pit-manager.mit.edu
  357. X          ftpmail@decwrl.dec.com
  358. X          ftpmail@cs.uow.edu.au
  359. X
  360. X       In general, you can get a help message about how    to use
  361. X       each system by sending email with a subject of "help" and
  362. X       a message body containing just the word "help".
  363. X
  364. XMAILING    LIST
  365. X       A mailing list has been created so that users of    cook may
  366. X       exchange    ideas about how    to use the cook    program.
  367. X       Discussion may include, but is not limited to: bugs,
  368. X       enhancements, and applications.    The list is not
  369. X       moderated.
  370. X
  371. X       The address of the mailing list is
  372. X          cook-users@bmr.gov.au
  373. X
  374. X       To subscribe to this mailing list, send an email    message
  375. X       to majordomo@bmr.gov.au with a message body containing the
  376. X       single line
  377. X          subscribe    cook-users
  378. X       Please note that    bmr.gov.au is an Internet site,    so if you
  379. X       have an address which is    not readily derived from your
  380. X       mail headers (majordomo is only a Perl program, after all)
  381. X       you will    need to    use a message of the form:
  382. X          subscribe    cook-users address
  383. X       where address is    an email address which makes sense from
  384. X       an Internet site.
  385. X
  386. X       The software which handles this mailing list CANNOT send
  387. X       you a copy of the cook program.    Please use ftp or ftp-by-
  388. X       email, instead.
  389. X
  390. XNEW IN THIS RELEASE
  391. X       A number    of features have been added to cook with this
  392. X       release.     A few of them are detailed here:
  393. X
  394. X       * The cook program is now known to work on more systems.
  395. X       Most changes were aimed at improving portability, or
  396. X       avoiding    problems specific to some systems.
  397. X
  398. X       * The GNU long option name convention is    now understood.
  399. X       Option names for    cook were always long, so this mostly
  400. X
  401. X
  402. X
  403. X                                2
  404. X
  405. X
  406. X
  407. X
  408. X
  409. Xreadme(cook)                         readme(cook)
  410. X
  411. X
  412. X       consists    of ignoring the    extra leading '-'.  The
  413. X       "--foo=bar" convention is also understood for options with
  414. X       arguments.
  415. X
  416. X       * Tests which fail now tell you what it was they    were
  417. X       testing for.  This will give the    user some idea of what is
  418. X       happening.
  419. X
  420. X       Plus the    usual crop of bug fixes    and tinkering.    For
  421. X       excruciating detail, and    also acknowlegements of    those who
  422. X       generously sent me feedback, please see the CHANGES file
  423. X       included    in this    distribution.
  424. X
  425. XBUILDING COOK
  426. X       Full instructions for building the cook program may be
  427. X       found in    the BUILDING file included in this distribution.
  428. X
  429. XCOPYRIGHT
  430. X       cook version 1.4.D013
  431. X       Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993    Peter
  432. X       Miller.
  433. X       All rights reserved.
  434. X
  435. X       This program is free software; you can redistribute it
  436. X       and/or modify it    under the terms    of the GNU General Public
  437. X       License as published by the Free    Software Foundation;
  438. X       either version 2    of the License,    or (at your option) any
  439. X       later version.
  440. X
  441. X       This program is distributed in the hope that it will be
  442. X       useful, but WITHOUT ANY WARRANTY; without even the implied
  443. X       warranty    of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  444. X       PURPOSE.     See the GNU General Public License for    more
  445. X       details.
  446. X
  447. X       You should have received    a copy of the GNU General Public
  448. X       License along with this program;    if not,    write to the Free
  449. X       Software    Foundation, Inc., 675 Mass Ave,    Cambridge, MA
  450. X       02139, USA.
  451. X
  452. X       It should be in the LICENSE file    included with this
  453. X       distribution.
  454. X
  455. XAUTHOR
  456. X       Peter Miller   UUCP     uunet!munnari!bmr.gov.au!pmiller
  457. X       /\/\*          Internet     pmiller@bmr.gov.au
  458. X
  459. X
  460. X
  461. X
  462. X
  463. X
  464. X
  465. X
  466. X
  467. X
  468. X
  469. X                                3
  470. X
  471. X
  472. END_OF_FILE
  473. if test 6506 -ne `wc -c <'README'`; then
  474.     echo shar: \"'README'\" unpacked with wrong size!
  475. fi
  476. # end of 'README'
  477. fi
  478. if test ! -d 'aux' ; then
  479.     echo shar: Creating directory \"'aux'\"
  480.     mkdir 'aux'
  481. fi
  482. if test -f 'aux/CHANGES.sh' -a "${1}" != "-c" ; then 
  483.   echo shar: Will not clobber existing file \"'aux/CHANGES.sh'\"
  484. else
  485. echo shar: Extracting \"'aux/CHANGES.sh'\" \(1184 characters\)
  486. sed "s/^X//" >'aux/CHANGES.sh' <<'END_OF_FILE'
  487. X#! /bin/sh
  488. X#
  489. X#    cook - file construction tool
  490. X#    Copyright (C) 1992, 1993 Peter Miller.
  491. X#    All rights reserved.
  492. X#
  493. X#    This program is free software; you can redistribute it and/or modify
  494. X#    it under the terms of the GNU General Public License as published by
  495. X#    the Free Software Foundation; either version 2 of the License, or
  496. X#    (at your option) any later version.
  497. X#
  498. X#    This program is distributed in the hope that it will be useful,
  499. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  500. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  501. X#    GNU General Public License for more details.
  502. X#
  503. X#    You should have received a copy of the GNU General Public License
  504. X#    along with this program; if not, write to the Free Software
  505. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  506. X#
  507. X# MANIFEST: shell script to generate CHANGES file
  508. X#
  509. Xcase $# in
  510. X1)
  511. X    project=$1
  512. X    ;;
  513. X
  514. X*)
  515. X    echo "usage: $0 <project>" 1>&2
  516. X    exit 1
  517. X    ;;
  518. Xesac
  519. Xset -e
  520. Xaegis -l changes -p $project -v -pl 66 -pw 72 < /dev/null
  521. Xchanges=`aegis -list changes -terse -project $project`
  522. Xfor n in $changes
  523. Xdo
  524. X    echo '' | tr '\12' '\14'
  525. X    aegis -l change_details -p $project -c $n -v -pl 66 -pw 72 < /dev/null
  526. Xdone
  527. Xexit 0
  528. END_OF_FILE
  529. if test 1184 -ne `wc -c <'aux/CHANGES.sh'`; then
  530.     echo shar: \"'aux/CHANGES.sh'\" unpacked with wrong size!
  531. fi
  532. # end of 'aux/CHANGES.sh'
  533. fi
  534. if test -f 'aux/Makefile.awk' -a "${1}" != "-c" ; then 
  535.   echo shar: Will not clobber existing file \"'aux/Makefile.awk'\"
  536. else
  537. echo shar: Extracting \"'aux/Makefile.awk'\" \(1122 characters\)
  538. sed "s/^X//" >'aux/Makefile.awk' <<'END_OF_FILE'
  539. X#
  540. X#    cook - a program construction tool
  541. X#    Copyright (C) 1991, 1992, 1993 Peter Miller.
  542. X#    All rights reserved.
  543. X#
  544. X#    This program is free software; you can redistribute it and/or modify
  545. X#    it under the terms of the GNU General Public License as published by
  546. X#    the Free Software Foundation; either version 2 of the License, or
  547. X#    (at your option) any later version.
  548. X#
  549. X#    This program is distributed in the hope that it will be useful,
  550. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  551. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  552. X#    GNU General Public License for more details.
  553. X#
  554. X#    You should have received a copy of the GNU General Public License
  555. X#    along with this program; if not, write to the Free Software
  556. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  557. X#
  558. X# MANIFEST: helper file for generating Makefile file
  559. X#
  560. Xlength <= 72
  561. Xlength > 72 {
  562. X    if (substr($0, 1, 1) == "\t")
  563. X    {
  564. X        printf "\t"
  565. X        pos = 8
  566. X    }
  567. X    else    
  568. X        pos = 0
  569. X    for (j = 1; j <= NF; ++j)
  570. X    {
  571. X        if (pos + 1 + length($j) > 72)
  572. X        {
  573. X            printf "\\\n\t\t"
  574. X            pos = 16
  575. X        }
  576. X        printf "%s ", $j
  577. X        pos += length($j) + 1
  578. X    }
  579. X    printf "\n"
  580. X}
  581. END_OF_FILE
  582. if test 1122 -ne `wc -c <'aux/Makefile.awk'`; then
  583.     echo shar: \"'aux/Makefile.awk'\" unpacked with wrong size!
  584. fi
  585. # end of 'aux/Makefile.awk'
  586. fi
  587. if test ! -d 'c_incl' ; then
  588.     echo shar: Creating directory \"'c_incl'\"
  589.     mkdir 'c_incl'
  590. fi
  591. if test -f 'c_incl/cache.h' -a "${1}" != "-c" ; then 
  592.   echo shar: Will not clobber existing file \"'c_incl/cache.h'\"
  593. else
  594. echo shar: Extracting \"'c_incl/cache.h'\" \(1313 characters\)
  595. sed "s/^X//" >'c_incl/cache.h' <<'END_OF_FILE'
  596. X/*
  597. X *    cook - file construction tool
  598. X *    Copyright (C) 1991, 1992, 1993 Peter Miller.
  599. X *    All rights reserved.
  600. X *
  601. X *    This program is free software; you can redistribute it and/or modify
  602. X *    it under the terms of the GNU General Public License as published by
  603. X *    the Free Software Foundation; either version 2 of the License, or
  604. X *    (at your option) any later version.
  605. X *
  606. X *    This program is distributed in the hope that it will be useful,
  607. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  608. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  609. X *    GNU General Public License for more details.
  610. X *
  611. X *    You should have received a copy of the GNU General Public License
  612. X *    along with this program; if not, write to the Free Software
  613. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  614. X *
  615. X * MANIFEST: interface definition for c_incl/cache.c
  616. X */
  617. X
  618. X#ifndef CACHE_H
  619. X#define CACHE_H
  620. X
  621. X#include <sys/types.h>
  622. X#include <sys/stat.h>
  623. X
  624. X#include <main.h>
  625. X#include <str.h>
  626. X#include <word.h>
  627. X
  628. Xtypedef struct cache_ty cache_ty;
  629. Xstruct cache_ty
  630. X{
  631. X    string_ty    *filename;
  632. X    struct stat    st;
  633. X    wlist        ingredients;
  634. X};
  635. X
  636. Xvoid cache_initialize _((void));
  637. Xcache_ty *cache_search _((string_ty *filename));
  638. Xvoid cache_read _((void));
  639. Xvoid cache_write _((void));
  640. Xvoid cache_update_notify _((void));
  641. X
  642. X#endif /* CACHE_H */
  643. END_OF_FILE
  644. if test 1313 -ne `wc -c <'c_incl/cache.h'`; then
  645.     echo shar: \"'c_incl/cache.h'\" unpacked with wrong size!
  646. fi
  647. # end of 'c_incl/cache.h'
  648. fi
  649. if test -f 'c_incl/os.h' -a "${1}" != "-c" ; then 
  650.   echo shar: Will not clobber existing file \"'c_incl/os.h'\"
  651. else
  652. echo shar: Extracting \"'c_incl/os.h'\" \(964 characters\)
  653. sed "s/^X//" >'c_incl/os.h' <<'END_OF_FILE'
  654. X/*
  655. X *    cook - file construction tool
  656. X *    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  657. X *    All rights reserved.
  658. X *
  659. X *    This program is free software; you can redistribute it and/or modify
  660. X *    it under the terms of the GNU General Public License as published by
  661. X *    the Free Software Foundation; either version 2 of the License, or
  662. X *    (at your option) any later version.
  663. X *
  664. X *    This program is distributed in the hope that it will be useful,
  665. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  666. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  667. X *    GNU General Public License for more details.
  668. X *
  669. X *    You should have received a copy of the GNU General Public License
  670. X *    along with this program; if not, write to the Free Software
  671. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  672. X *
  673. X * MANIFEST: interface definition for c_incl/os.c
  674. X */
  675. X
  676. X#ifndef OS_H
  677. X#define OS_H
  678. X
  679. X#include <main.h>
  680. X
  681. Xint os_exists _((char *));
  682. X
  683. X#endif /* OS_H */
  684. END_OF_FILE
  685. if test 964 -ne `wc -c <'c_incl/os.h'`; then
  686.     echo shar: \"'c_incl/os.h'\" unpacked with wrong size!
  687. fi
  688. # end of 'c_incl/os.h'
  689. fi
  690. if test ! -d 'common' ; then
  691.     echo shar: Creating directory \"'common'\"
  692.     mkdir 'common'
  693. fi
  694. if test -f 'common/help.h' -a "${1}" != "-c" ; then 
  695.   echo shar: Will not clobber existing file \"'common/help.h'\"
  696. else
  697. echo shar: Extracting \"'common/help.h'\" \(1037 characters\)
  698. sed "s/^X//" >'common/help.h' <<'END_OF_FILE'
  699. X/*
  700. X *    cook - a program construction tool
  701. X *    Copyright (C) 1991, 1992, 1993 Peter Miller.
  702. X *    All rights reserved.
  703. X *
  704. X *    This program is free software; you can redistribute it and/or modify
  705. X *    it under the terms of the GNU General Public License as published by
  706. X *    the Free Software Foundation; either version 2 of the License, or
  707. X *    (at your option) any later version.
  708. X *
  709. X *    This program is distributed in the hope that it will be useful,
  710. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  711. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  712. X *    GNU General Public License for more details.
  713. X *
  714. X *    You should have received a copy of the GNU General Public License
  715. X *    along with this program; if not, write to the Free Software
  716. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  717. X *
  718. X * MANIFEST: interface definition for comon/help.c
  719. X */
  720. X
  721. X#ifndef HELP_H
  722. X#define HELP_H
  723. X
  724. X#include <main.h>
  725. X
  726. Xvoid help _((char **text, int text_lem, void (*usage)(void)));
  727. Xchar *version_stamp _((void));
  728. X
  729. X#endif /* HELP_H */
  730. END_OF_FILE
  731. if test 1037 -ne `wc -c <'common/help.h'`; then
  732.     echo shar: \"'common/help.h'\" unpacked with wrong size!
  733. fi
  734. # end of 'common/help.h'
  735. fi
  736. if test -f 'common/main.h' -a "${1}" != "-c" ; then 
  737.   echo shar: Will not clobber existing file \"'common/main.h'\"
  738. else
  739. echo shar: Extracting \"'common/main.h'\" \(1161 characters\)
  740. sed "s/^X//" >'common/main.h' <<'END_OF_FILE'
  741. X/*
  742. X *    cook - file construction tool
  743. X *    Copyright (C) 1991, 1992, 1993 Peter Miller.
  744. X *    All rights reserved.
  745. X *
  746. X *    This program is free software; you can redistribute it and/or modify
  747. X *    it under the terms of the GNU General Public License as published by
  748. X *    the Free Software Foundation; either version 2 of the License, or
  749. X *    (at your option) any later version.
  750. X *
  751. X *    This program is distributed in the hope that it will be useful,
  752. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  753. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  754. X *    GNU General Public License for more details.
  755. X *
  756. X *    You should have received a copy of the GNU General Public License
  757. X *    along with this program; if not, write to the Free Software
  758. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  759. X *
  760. X * MANIFEST: common defined, including DEBUG define
  761. X */
  762. X
  763. X#ifndef MAIN_H
  764. X#define MAIN_H
  765. X
  766. X#ifdef __STDC__
  767. X# define _(x) x
  768. X#else
  769. X# define _(x) ()
  770. X# define const
  771. X#endif
  772. X
  773. X#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
  774. X#define ENDOF(a) ((a) + SIZEOF(a))
  775. X
  776. X/*
  777. X * take the following out of comments to enable debugging
  778. X *
  779. X#define DEBUG
  780. X */
  781. X
  782. X#endif /* MAIN_H */
  783. END_OF_FILE
  784. if test 1161 -ne `wc -c <'common/main.h'`; then
  785.     echo shar: \"'common/main.h'\" unpacked with wrong size!
  786. fi
  787. # end of 'common/main.h'
  788. fi
  789. if test -f 'common/mem.h' -a "${1}" != "-c" ; then 
  790.   echo shar: Will not clobber existing file \"'common/mem.h'\"
  791. else
  792. echo shar: Extracting \"'common/mem.h'\" \(1135 characters\)
  793. sed "s/^X//" >'common/mem.h' <<'END_OF_FILE'
  794. X/*
  795. X *    cook - file construction tool
  796. X *    Copyright (C) 1991, 1992, 1993 Peter Miller.
  797. X *    All rights reserved.
  798. X *
  799. X *    This program is free software; you can redistribute it and/or modify
  800. X *    it under the terms of the GNU General Public License as published by
  801. X *    the Free Software Foundation; either version 2 of the License, or
  802. X *    (at your option) any later version.
  803. X *
  804. X *    This program is distributed in the hope that it will be useful,
  805. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  806. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  807. X *    GNU General Public License for more details.
  808. X *
  809. X *    You should have received a copy of the GNU General Public License
  810. X *    along with this program; if not, write to the Free Software
  811. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  812. X *
  813. X * MANIFEST: interface definition for common/mem.c
  814. X */
  815. X
  816. X#ifndef MEM_H
  817. X#define MEM_H
  818. X
  819. X#include <stddef.h>
  820. X#include <main.h>
  821. X
  822. Xchar *enlarge _((size_t *, char **, size_t));
  823. Xchar *mem_alloc _((size_t));
  824. Xchar *mem_alloc_clear _((size_t));
  825. Xvoid mem_change_size _((char **, size_t));
  826. Xvoid mem_free _((char *));
  827. X
  828. X#endif /* MEM_H */
  829. END_OF_FILE
  830. if test 1135 -ne `wc -c <'common/mem.h'`; then
  831.     echo shar: \"'common/mem.h'\" unpacked with wrong size!
  832. fi
  833. # end of 'common/mem.h'
  834. fi
  835. if test -f 'common/patchlevel.h' -a "${1}" != "-c" ; then 
  836.   echo shar: Will not clobber existing file \"'common/patchlevel.h'\"
  837. else
  838. echo shar: Extracting \"'common/patchlevel.h'\" \(30 characters\)
  839. sed "s/^X//" >'common/patchlevel.h' <<'END_OF_FILE'
  840. X#define PATCHLEVEL "1.4.D013"
  841. END_OF_FILE
  842. if test 30 -ne `wc -c <'common/patchlevel.h'`; then
  843.     echo shar: \"'common/patchlevel.h'\" unpacked with wrong size!
  844. fi
  845. # end of 'common/patchlevel.h'
  846. fi
  847. if test -f 'common/version.h' -a "${1}" != "-c" ; then 
  848.   echo shar: Will not clobber existing file \"'common/version.h'\"
  849. else
  850. echo shar: Extracting \"'common/version.h'\" \(981 characters\)
  851. sed "s/^X//" >'common/version.h' <<'END_OF_FILE'
  852. X/*
  853. X *    cook - file construction tool
  854. X *    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  855. X *    All rights reserved.
  856. X *
  857. X *    This program is free software; you can redistribute it and/or modify
  858. X *    it under the terms of the GNU General Public License as published by
  859. X *    the Free Software Foundation; either version 2 of the License, or
  860. X *    (at your option) any later version.
  861. X *
  862. X *    This program is distributed in the hope that it will be useful,
  863. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  864. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  865. X *    GNU General Public License for more details.
  866. X *
  867. X *    You should have received a copy of the GNU General Public License
  868. X *    along with this program; if not, write to the Free Software
  869. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  870. X *
  871. X * MANIFEST: interface definition for common/version.c
  872. X */
  873. X
  874. X#ifndef VERSION_H
  875. X#define VERSION_H
  876. X
  877. X#include <main.h>
  878. X
  879. Xvoid version _((void));
  880. X
  881. X#endif /* VERSION_H */
  882. END_OF_FILE
  883. if test 981 -ne `wc -c <'common/version.h'`; then
  884.     echo shar: \"'common/version.h'\" unpacked with wrong size!
  885. fi
  886. # end of 'common/version.h'
  887. fi
  888. if test ! -d 'conf' ; then
  889.     echo shar: Creating directory \"'conf'\"
  890.     mkdir 'conf'
  891. fi
  892. if test ! -d 'cook' ; then
  893.     echo shar: Creating directory \"'cook'\"
  894.     mkdir 'cook'
  895. fi
  896. if test -f 'cook/builtin.h' -a "${1}" != "-c" ; then 
  897.   echo shar: Will not clobber existing file \"'cook/builtin.h'\"
  898. else
  899. echo shar: Extracting \"'cook/builtin.h'\" \(997 characters\)
  900. sed "s/^X//" >'cook/builtin.h' <<'END_OF_FILE'
  901. X/*
  902. X *    cook - file construction tool
  903. X *    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  904. X *    All rights reserved.
  905. X *
  906. X *    This program is free software; you can redistribute it and/or modify
  907. X *    it under the terms of the GNU General Public License as published by
  908. X *    the Free Software Foundation; either version 2 of the License, or
  909. X *    (at your option) any later version.
  910. X *
  911. X *    This program is distributed in the hope that it will be useful,
  912. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  913. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  914. X *    GNU General Public License for more details.
  915. X *
  916. X *    You should have received a copy of the GNU General Public License
  917. X *    along with this program; if not, write to the Free Software
  918. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  919. X *
  920. X * MANIFEST: interface definition for cook/builtin.c
  921. X */
  922. X
  923. X#ifndef BUILTIN_H
  924. X#define BUILTIN_H
  925. X
  926. X#include <main.h>
  927. X
  928. Xextern void builtin_initialize _((void));
  929. X
  930. X#endif /* BUILTIN_H */
  931. END_OF_FILE
  932. if test 997 -ne `wc -c <'cook/builtin.h'`; then
  933.     echo shar: \"'cook/builtin.h'\" unpacked with wrong size!
  934. fi
  935. # end of 'cook/builtin.h'
  936. fi
  937. if test -f 'cook/env.h' -a "${1}" != "-c" ; then 
  938.   echo shar: Will not clobber existing file \"'cook/env.h'\"
  939. else
  940. echo shar: Extracting \"'cook/env.h'\" \(1045 characters\)
  941. sed "s/^X//" >'cook/env.h' <<'END_OF_FILE'
  942. X/*
  943. X *    cook - file construction tool
  944. X *    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  945. X *    All rights reserved.
  946. X *
  947. X *    This program is free software; you can redistribute it and/or modify
  948. X *    it under the terms of the GNU General Public License as published by
  949. X *    the Free Software Foundation; either version 2 of the License, or
  950. X *    (at your option) any later version.
  951. X *
  952. X *    This program is distributed in the hope that it will be useful,
  953. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  954. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  955. X *    GNU General Public License for more details.
  956. X *
  957. X *    You should have received a copy of the GNU General Public License
  958. X *    along with this program; if not, write to the Free Software
  959. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  960. X *
  961. X * MANIFEST: interface definition for cook/env.c
  962. X */
  963. X
  964. X#ifndef ENV_H
  965. X#define ENV_H
  966. X
  967. X#include <main.h>
  968. X
  969. Xvoid env_initialize _((void));
  970. Xvoid env_set _((char *name, char *value));
  971. Xvoid env_unset _((char *name));
  972. X
  973. X#endif /* ENV_H */
  974. END_OF_FILE
  975. if test 1045 -ne `wc -c <'cook/env.h'`; then
  976.     echo shar: \"'cook/env.h'\" unpacked with wrong size!
  977. fi
  978. # end of 'cook/env.h'
  979. fi
  980. if test -f 'cook/glob.h' -a "${1}" != "-c" ; then 
  981.   echo shar: Will not clobber existing file \"'cook/glob.h'\"
  982. else
  983. echo shar: Extracting \"'cook/glob.h'\" \(993 characters\)
  984. sed "s/^X//" >'cook/glob.h' <<'END_OF_FILE'
  985. X/*
  986. X *    cook - file construction tool
  987. X *    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  988. X *    All rights reserved.
  989. X *
  990. X *    This program is free software; you can redistribute it and/or modify
  991. X *    it under the terms of the GNU General Public License as published by
  992. X *    the Free Software Foundation; either version 2 of the License, or
  993. X *    (at your option) any later version.
  994. X *
  995. X *    This program is distributed in the hope that it will be useful,
  996. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  997. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  998. X *    GNU General Public License for more details.
  999. X *
  1000. X *    You should have received a copy of the GNU General Public License
  1001. X *    along with this program; if not, write to the Free Software
  1002. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1003. X *
  1004. X * MANIFEST: interface definition for cook/glob.c
  1005. X */
  1006. X
  1007. X#ifndef GLOB_H
  1008. X#define GLOB_H
  1009. X
  1010. X#include <main.h>
  1011. X#include <word.h>
  1012. X
  1013. Xint glob _((wlist *, wlist *));
  1014. X
  1015. X#endif /* GLOB_H */
  1016. END_OF_FILE
  1017. if test 993 -ne `wc -c <'cook/glob.h'`; then
  1018.     echo shar: \"'cook/glob.h'\" unpacked with wrong size!
  1019. fi
  1020. # end of 'cook/glob.h'
  1021. fi
  1022. if test -f 'cook/hashline.h' -a "${1}" != "-c" ; then 
  1023.   echo shar: Will not clobber existing file \"'cook/hashline.h'\"
  1024. else
  1025. echo shar: Extracting \"'cook/hashline.h'\" \(972 characters\)
  1026. sed "s/^X//" >'cook/hashline.h' <<'END_OF_FILE'
  1027. X/*
  1028. X *    cook - file construction tool
  1029. X *    Copyright (C) 1992, 1993 Peter Miller.
  1030. X *    All rights reserved.
  1031. X *
  1032. X *    This program is free software; you can redistribute it and/or modify
  1033. X *    it under the terms of the GNU General Public License as published by
  1034. X *    the Free Software Foundation; either version 2 of the License, or
  1035. X *    (at your option) any later version.
  1036. X *
  1037. X *    This program is distributed in the hope that it will be useful,
  1038. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1039. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1040. X *    GNU General Public License for more details.
  1041. X *
  1042. X *    You should have received a copy of the GNU General Public License
  1043. X *    along with this program; if not, write to the Free Software
  1044. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1045. X *
  1046. X * MANIFEST: interface definition for cook/hashline.y
  1047. X */
  1048. X
  1049. X#ifndef HASHLINE_H
  1050. X#define HASHLINE_H
  1051. X
  1052. X#include <main.h>
  1053. X
  1054. Xvoid hashline _((void));
  1055. X
  1056. X#endif /* HASHLINE_H */
  1057. END_OF_FILE
  1058. if test 972 -ne `wc -c <'cook/hashline.h'`; then
  1059.     echo shar: \"'cook/hashline.h'\" unpacked with wrong size!
  1060. fi
  1061. # end of 'cook/hashline.h'
  1062. fi
  1063. if test -f 'cook/listing.h' -a "${1}" != "-c" ; then 
  1064.   echo shar: Will not clobber existing file \"'cook/listing.h'\"
  1065. else
  1066. echo shar: Extracting \"'cook/listing.h'\" \(964 characters\)
  1067. sed "s/^X//" >'cook/listing.h' <<'END_OF_FILE'
  1068. X/*
  1069. X *    cook - file construction tool
  1070. X *    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  1071. X *    All rights reserved.
  1072. X *
  1073. X *    This program is free software; you can redistribute it and/or modify
  1074. X *    it under the terms of the GNU General Public License as published by
  1075. X *    the Free Software Foundation; either version 2 of the License, or
  1076. X *    (at your option) any later version.
  1077. X *
  1078. X *    This program is distributed in the hope that it will be useful,
  1079. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1080. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1081. X *    GNU General Public License for more details.
  1082. X *
  1083. X *    You should have received a copy of the GNU General Public License
  1084. X *    along with this program; if not, write to the Free Software
  1085. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1086. X *
  1087. X * MANIFEST: interface definition for cook/listing.c
  1088. X */
  1089. X
  1090. X#ifndef LISTING_H
  1091. X#define LISTING_H
  1092. X
  1093. X#include <main.h>
  1094. X
  1095. Xvoid log_open _((void));
  1096. X
  1097. X#endif
  1098. END_OF_FILE
  1099. if test 964 -ne `wc -c <'cook/listing.h'`; then
  1100.     echo shar: \"'cook/listing.h'\" unpacked with wrong size!
  1101. fi
  1102. # end of 'cook/listing.h'
  1103. fi
  1104. if test -f 'cook/parse.h' -a "${1}" != "-c" ; then 
  1105.   echo shar: Will not clobber existing file \"'cook/parse.h'\"
  1106. else
  1107. echo shar: Extracting \"'cook/parse.h'\" \(1023 characters\)
  1108. sed "s/^X//" >'cook/parse.h' <<'END_OF_FILE'
  1109. X/*
  1110. X *    cook - file construction tool
  1111. X *    Copyright (C) 1992, 1993 Peter Miller.
  1112. X *    All rights reserved.
  1113. X *
  1114. X *    This program is free software; you can redistribute it and/or modify
  1115. X *    it under the terms of the GNU General Public License as published by
  1116. X *    the Free Software Foundation; either version 2 of the License, or
  1117. X *    (at your option) any later version.
  1118. X *
  1119. X *    This program is distributed in the hope that it will be useful,
  1120. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1121. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1122. X *    GNU General Public License for more details.
  1123. X *
  1124. X *    You should have received a copy of the GNU General Public License
  1125. X *    along with this program; if not, write to the Free Software
  1126. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1127. X *
  1128. X * MANIFEST: interface definition for cook/parse.y
  1129. X */
  1130. X
  1131. X#ifndef PARSE_H
  1132. X#define PARSE_H
  1133. X
  1134. X#include <main.h>
  1135. X
  1136. Xstruct string_ty;
  1137. X
  1138. Xvoid parse _((struct string_ty *));
  1139. Xvoid parse_initialize _((void));
  1140. X
  1141. X#endif /* PARSE_H */
  1142. END_OF_FILE
  1143. if test 1023 -ne `wc -c <'cook/parse.h'`; then
  1144.     echo shar: \"'cook/parse.h'\" unpacked with wrong size!
  1145. fi
  1146. # end of 'cook/parse.h'
  1147. fi
  1148. if test ! -d 'cooktime' ; then
  1149.     echo shar: Creating directory \"'cooktime'\"
  1150.     mkdir 'cooktime'
  1151. fi
  1152. if test -f 'cooktime/date.h' -a "${1}" != "-c" ; then 
  1153.   echo shar: Will not clobber existing file \"'cooktime/date.h'\"
  1154. else
  1155. echo shar: Extracting \"'cooktime/date.h'\" \(1014 characters\)
  1156. sed "s/^X//" >'cooktime/date.h' <<'END_OF_FILE'
  1157. X/*
  1158. X *    cook - file construction tool
  1159. X *    Copyright (C) 1992, 1993 Peter Miller.
  1160. X *    All rights reserved.
  1161. X *
  1162. X *    This program is free software; you can redistribute it and/or modify
  1163. X *    it under the terms of the GNU General Public License as published by
  1164. X *    the Free Software Foundation; either version 2 of the License, or
  1165. X *    (at your option) any later version.
  1166. X *
  1167. X *    This program is distributed in the hope that it will be useful,
  1168. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1169. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1170. X *    GNU General Public License for more details.
  1171. X *
  1172. X *    You should have received a copy of the GNU General Public License
  1173. X *    along with this program; if not, write to the Free Software
  1174. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1175. X *
  1176. X * MANIFEST: interface definition for cooktime/date.y
  1177. X */
  1178. X
  1179. X#ifndef DATE_H
  1180. X#define DATE_H
  1181. X
  1182. X#include <time.h>
  1183. X#include <main.h>
  1184. X
  1185. Xtime_t date_scan _((char *));
  1186. Xchar *date_string _((time_t));
  1187. X
  1188. X#endif /* DATE_H */
  1189. END_OF_FILE
  1190. if test 1014 -ne `wc -c <'cooktime/date.h'`; then
  1191.     echo shar: \"'cooktime/date.h'\" unpacked with wrong size!
  1192. fi
  1193. # end of 'cooktime/date.h'
  1194. fi
  1195. if test ! -d 'doc' ; then
  1196.     echo shar: Creating directory \"'doc'\"
  1197.     mkdir 'doc'
  1198. fi
  1199. if test -f 'doc/version.so' -a "${1}" != "-c" ; then 
  1200.   echo shar: Will not clobber existing file \"'doc/version.so'\"
  1201. else
  1202. echo shar: Extracting \"'doc/version.so'\" \(9 characters\)
  1203. sed "s/^X//" >'doc/version.so' <<'END_OF_FILE'
  1204. X1.4.D013
  1205. END_OF_FILE
  1206. if test 9 -ne `wc -c <'doc/version.so'`; then
  1207.     echo shar: \"'doc/version.so'\" unpacked with wrong size!
  1208. fi
  1209. # end of 'doc/version.so'
  1210. fi
  1211. if test ! -d 'find_libs' ; then
  1212.     echo shar: Creating directory \"'find_libs'\"
  1213.     mkdir 'find_libs'
  1214. fi
  1215. if test -f 'find_libs/os.h' -a "${1}" != "-c" ; then 
  1216.   echo shar: Will not clobber existing file \"'find_libs/os.h'\"
  1217. else
  1218. echo shar: Extracting \"'find_libs/os.h'\" \(967 characters\)
  1219. sed "s/^X//" >'find_libs/os.h' <<'END_OF_FILE'
  1220. X/*
  1221. X *    cook - file construction tool
  1222. X *    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  1223. X *    All rights reserved.
  1224. X *
  1225. X *    This program is free software; you can redistribute it and/or modify
  1226. X *    it under the terms of the GNU General Public License as published by
  1227. X *    the Free Software Foundation; either version 2 of the License, or
  1228. X *    (at your option) any later version.
  1229. X *
  1230. X *    This program is distributed in the hope that it will be useful,
  1231. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1232. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1233. X *    GNU General Public License for more details.
  1234. X *
  1235. X *    You should have received a copy of the GNU General Public License
  1236. X *    along with this program; if not, write to the Free Software
  1237. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1238. X *
  1239. X * MANIFEST: interface definition for find_libs/os.c
  1240. X */
  1241. X
  1242. X#ifndef OS_H
  1243. X#define OS_H
  1244. X
  1245. X#include <main.h>
  1246. X
  1247. Xint os_exists _((char *));
  1248. X
  1249. X#endif /* OS_H */
  1250. END_OF_FILE
  1251. if test 967 -ne `wc -c <'find_libs/os.h'`; then
  1252.     echo shar: \"'find_libs/os.h'\" unpacked with wrong size!
  1253. fi
  1254. # end of 'find_libs/os.h'
  1255. fi
  1256. if test ! -d 'h' ; then
  1257.     echo shar: Creating directory \"'h'\"
  1258.     mkdir 'h'
  1259. fi
  1260. if test -f 'h/float.h' -a "${1}" != "-c" ; then 
  1261.   echo shar: Will not clobber existing file \"'h/float.h'\"
  1262. else
  1263. echo shar: Extracting \"'h/float.h'\" \(763 characters\)
  1264. sed "s/^X//" >'h/float.h' <<'END_OF_FILE'
  1265. X
  1266. X/*
  1267. X *  this version of float.h works for IEEE float (32bits) and double (64bits)
  1268. X *
  1269. X * MANIFEST: minimal float.h replacement
  1270. X */
  1271. X
  1272. X#ifndef _H_float
  1273. X#define _H_float
  1274. X
  1275. X#define FLT_RADIX 2
  1276. X#define FLT_MANT_DIG 24
  1277. X#define FLT_DIG 6
  1278. X#define FLT_ROUNDS 1
  1279. X#define FLT_EPSILON ((float)1.19209290e-07)
  1280. X#define FLT_MIN_EXP (-125)
  1281. X#define FLT_MIN ((float)1.17549435e-38)
  1282. X#define FLT_MIN_10_EXP (-37)
  1283. X#define FLT_MAX_EXP 128
  1284. X#define FLT_MAX ((float)3.40282347e+38)
  1285. X#define FLT_MAX_10_EXP 38
  1286. X#define DBL_MANT_DIG 53
  1287. X#define DBL_DIG 15
  1288. X#define DBL_EPSILON 2.2204460492503131e-16
  1289. X#define DBL_MIN_EXP (-1021)
  1290. X#define DBL_MIN 2.2250738585072014e-308
  1291. X#define DBL_MIN_10_EXP (-307)
  1292. X#define DBL_MAX_EXP 1024
  1293. X#define DBL_MAX 1.7976931348623157e+308
  1294. X#define DBL_MAX_10_EXP 308
  1295. X
  1296. X#endif
  1297. END_OF_FILE
  1298. if test 763 -ne `wc -c <'h/float.h'`; then
  1299.     echo shar: \"'h/float.h'\" unpacked with wrong size!
  1300. fi
  1301. # end of 'h/float.h'
  1302. fi
  1303. if test -f 'h/limits.h' -a "${1}" != "-c" ; then 
  1304.   echo shar: Will not clobber existing file \"'h/limits.h'\"
  1305. else
  1306. echo shar: Extracting \"'h/limits.h'\" \(982 characters\)
  1307. sed "s/^X//" >'h/limits.h' <<'END_OF_FILE'
  1308. X
  1309. X/*
  1310. X *  ANSI C definitions
  1311. X *
  1312. X *  these definitions work for char:8, short:16, int:32, long:32,
  1313. X *
  1314. X * MANIFEST: minimal limits.h replacement
  1315. X */
  1316. X
  1317. X#ifndef _H_limits
  1318. X#define _H_limits
  1319. X
  1320. X#define CHAR_BIT 8
  1321. X#define CHAR_MAX 127
  1322. X#define CHAR_MIN (-128)
  1323. X#define SCHAR_MAX 127
  1324. X#define SCHAR_MIN (-128)
  1325. X#define UCHAR_MAX 255
  1326. X#define SHRT_MIN (-32768)
  1327. X#define SHRT_MAX 32767
  1328. X#define USHRT_MAX 65535
  1329. X#define LONG_MAX 2147483647
  1330. X#define LONG_MIN (-2147483648)
  1331. X#define ULONG_MAX 4294967295
  1332. X
  1333. X#define INT_MAX LONG_MAX
  1334. X#define INT_MIN LONG_MIN
  1335. X#define UINT_MAX ULONG_MAX
  1336. X
  1337. X/*
  1338. X *  POSIX definitions
  1339. X */
  1340. X
  1341. X#if defined(sun) || defined(BSD)
  1342. X
  1343. X/*
  1344. X *  these definitions work for BSD and SunOS
  1345. X */
  1346. X#define NAME_MAX 255
  1347. X#define PATH_MAX 1023
  1348. X
  1349. X#else
  1350. X
  1351. X/*
  1352. X *  These definitions work for SystemV
  1353. X *      note that 5.2 and 5.3 state in the release notes that 1024 is correct,
  1354. X *      even though the distributed limits.h has 256 in it.
  1355. X */
  1356. X#define NAME_MAX 14
  1357. X#define PATH_MAX 1024
  1358. X
  1359. X#endif
  1360. X
  1361. X#endif /* _H_limits */
  1362. END_OF_FILE
  1363. if test 982 -ne `wc -c <'h/limits.h'`; then
  1364.     echo shar: \"'h/limits.h'\" unpacked with wrong size!
  1365. fi
  1366. # end of 'h/limits.h'
  1367. fi
  1368. if test -f 'h/stdarg.h-min' -a "${1}" != "-c" ; then 
  1369.   echo shar: Will not clobber existing file \"'h/stdarg.h-min'\"
  1370. else
  1371. echo shar: Extracting \"'h/stdarg.h-min'\" \(578 characters\)
  1372. sed "s/^X//" >'h/stdarg.h-min' <<'END_OF_FILE'
  1373. X/*
  1374. X * This stadrg.h works for simple machines, such as 68K or 386.
  1375. X * It assumes the stack grows downwards, and that no arguments are
  1376. X * stored in registers.
  1377. X *
  1378. X * This stdarg.h does not work for Sun sparc or MIPS,
  1379. X * and probably not any other RISC machine, either.
  1380. X *
  1381. X * MANIFEST: minimal stdarg.h replacement
  1382. X */
  1383. X
  1384. X#ifndef _STDARG_H
  1385. X#define _STDARG_H
  1386. X
  1387. Xtypedef char *va_list;
  1388. X#define va_start(ap,parmn) (void)((ap) = (char*)(&(parmn) + 1))
  1389. X#define va_end(ap) (void)((ap) = 0)
  1390. X#define va_arg(ap, type) \
  1391. X    (((type*)((ap) = ((ap) + sizeof(type))))[-1])
  1392. X
  1393. X#endif /* _STDARG_H */
  1394. END_OF_FILE
  1395. if test 578 -ne `wc -c <'h/stdarg.h-min'`; then
  1396.     echo shar: \"'h/stdarg.h-min'\" unpacked with wrong size!
  1397. fi
  1398. # end of 'h/stdarg.h-min'
  1399. fi
  1400. if test -f 'h/stddef.h' -a "${1}" != "-c" ; then 
  1401.   echo shar: Will not clobber existing file \"'h/stddef.h'\"
  1402. else
  1403. echo shar: Extracting \"'h/stddef.h'\" \(601 characters\)
  1404. sed "s/^X//" >'h/stddef.h' <<'END_OF_FILE'
  1405. X
  1406. X/*
  1407. X *  cook - a program construction tool
  1408. X *  ansi standard include file
  1409. X *
  1410. X *  This include file is only for use on systems which do not have
  1411. X *  and ANSI C standard conforming compiler.
  1412. X *
  1413. X *  Note that this faile must be included AFTER <sys/types.h>.
  1414. X *
  1415. X * MANIFEST: minimal stddef.h replacement
  1416. X */
  1417. X
  1418. X#ifndef _H_stddef
  1419. X#define _H_stddef
  1420. X
  1421. X#ifndef NULL
  1422. X#define NULL 0
  1423. X#endif
  1424. X
  1425. X#ifndef offsetof
  1426. X#define offsetof(type, identifier) ((char*)&((type*)0)->identifier - (char*)0)
  1427. X#endif
  1428. X
  1429. Xtypedef long        ptrdiff_t;
  1430. X
  1431. X#ifndef _SIZE_T
  1432. X#define _SIZE_T
  1433. Xtypedef unsigned long size_t;
  1434. X#endif
  1435. X
  1436. X#endif /* _H_stddef */
  1437. END_OF_FILE
  1438. if test 601 -ne `wc -c <'h/stddef.h'`; then
  1439.     echo shar: \"'h/stddef.h'\" unpacked with wrong size!
  1440. fi
  1441. # end of 'h/stddef.h'
  1442. fi
  1443. if test -f 'h/stdlib.h' -a "${1}" != "-c" ; then 
  1444.   echo shar: Will not clobber existing file \"'h/stdlib.h'\"
  1445. else
  1446. echo shar: Extracting \"'h/stdlib.h'\" \(588 characters\)
  1447. sed "s/^X//" >'h/stdlib.h' <<'END_OF_FILE'
  1448. X/*
  1449. X * MANIFEST: minimum stdlib.h replacement
  1450. X */
  1451. X
  1452. X#ifndef _H_stdlib
  1453. X#define _H_stdlib
  1454. X
  1455. Xtypedef struct div_t div_t;
  1456. Xstruct div_t
  1457. X{
  1458. X    int quot;
  1459. X    int rem;
  1460. X};
  1461. X
  1462. Xtypedef struct ldiv_t ldiv_t;
  1463. Xstruct ldiv_t
  1464. X{
  1465. X    long quot;
  1466. X    long rem;
  1467. X};
  1468. X
  1469. Xdouble atof();
  1470. Xint atoi();
  1471. Xlong atol();
  1472. Xdouble strtod();
  1473. Xunsigned long strtoul();
  1474. Xint rand();
  1475. Xvoid srand();
  1476. Xvoid *calloc();
  1477. Xvoid free();
  1478. Xvoid *malloc();
  1479. Xvoid *realloc();
  1480. Xvoid abort();
  1481. Xint atexit();
  1482. Xvoid exit();
  1483. Xchar *getenv();
  1484. Xint system();
  1485. Xvoid *bsearch();
  1486. Xvoid qsort();
  1487. Xint abs();
  1488. Xdiv_t div();
  1489. Xlong labs();
  1490. Xldiv_t ldiv();
  1491. X
  1492. X#endif /* _H_stdlib */
  1493. END_OF_FILE
  1494. if test 588 -ne `wc -c <'h/stdlib.h'`; then
  1495.     echo shar: \"'h/stdlib.h'\" unpacked with wrong size!
  1496. fi
  1497. # end of 'h/stdlib.h'
  1498. fi
  1499. if test -f 'h/string.h' -a "${1}" != "-c" ; then 
  1500.   echo shar: Will not clobber existing file \"'h/string.h'\"
  1501. else
  1502. echo shar: Extracting \"'h/string.h'\" \(454 characters\)
  1503. sed "s/^X//" >'h/string.h' <<'END_OF_FILE'
  1504. X/*
  1505. X * MANIFEST: minimal string.h replacement
  1506. X */
  1507. X
  1508. X#ifndef _H_string
  1509. X#define _H_string
  1510. X
  1511. Xvoid *memcpy();
  1512. Xvoid *memmove();
  1513. Xchar *strcpy();
  1514. Xchar *strncpy();
  1515. Xchar *strcat();
  1516. Xchar *strncat();
  1517. Xint memcmp();
  1518. Xint strcmp();
  1519. Xint strcoll();
  1520. Xint strncmp();
  1521. Xsize_t strxfrm();
  1522. Xvoid *memchr();
  1523. Xchar *strchr();
  1524. Xsize_t strcspn();
  1525. Xchar *strpbrk();
  1526. Xchar *strrchr();
  1527. Xsize_t strspn();
  1528. Xchar *strstr();
  1529. Xchar *strtok();
  1530. Xvoid *memset();
  1531. Xchar *strerror();
  1532. Xsize_t strlen();
  1533. X
  1534. X#endif
  1535. END_OF_FILE
  1536. if test 454 -ne `wc -c <'h/string.h'`; then
  1537.     echo shar: \"'h/string.h'\" unpacked with wrong size!
  1538. fi
  1539. # end of 'h/string.h'
  1540. fi
  1541. if test -f 'h/time.h' -a "${1}" != "-c" ; then 
  1542.   echo shar: Will not clobber existing file \"'h/time.h'\"
  1543. else
  1544. echo shar: Extracting \"'h/time.h'\" \(257 characters\)
  1545. sed "s/^X//" >'h/time.h' <<'END_OF_FILE'
  1546. X/*
  1547. X * MANIFEST: minimal time.h suplement
  1548. X */
  1549. X
  1550. X#ifndef _H_time
  1551. X#define _H_time
  1552. X
  1553. X#include "/usr/include/time.h"
  1554. X
  1555. X#ifndef _TIME_T
  1556. X#define _TIME_T
  1557. Xtypedef long time_t;
  1558. X#endif
  1559. X
  1560. X#ifndef _CLOCK_T
  1561. X#define _CLOCK_T
  1562. Xtypedef long clock_t;
  1563. X#endif
  1564. X
  1565. X#endif /* _H_time */
  1566. END_OF_FILE
  1567. if test 257 -ne `wc -c <'h/time.h'`; then
  1568.     echo shar: \"'h/time.h'\" unpacked with wrong size!
  1569. fi
  1570. # end of 'h/time.h'
  1571. fi
  1572. if test ! -d 'lib' ; then
  1573.     echo shar: Creating directory \"'lib'\"
  1574.     mkdir 'lib'
  1575. fi
  1576. if test -f 'lib/as' -a "${1}" != "-c" ; then 
  1577.   echo shar: Will not clobber existing file \"'lib/as'\"
  1578. else
  1579. echo shar: Extracting \"'lib/as'\" \(1238 characters\)
  1580. sed "s/^X//" >'lib/as' <<'END_OF_FILE'
  1581. X/*
  1582. X * NAME
  1583. X *    as - assembler cookbook
  1584. X *
  1585. X * DESCRIPTION
  1586. X *    This cookbook defines how to use the assembler
  1587. X *
  1588. X * RECIPES
  1589. X *    %.o: %.s    construct object friles from assembler source files
  1590. X *
  1591. X * VARIABLES
  1592. X *    as        The assembler command.
  1593. X *            Not altered if already defined.
  1594. X *    as_flags    Options to pass the assembler command.
  1595. X *            Not altered if already defined.
  1596. X *            The default is empty.
  1597. X *    as_src        Assembler source files in the current directory.
  1598. X *    dot_src        Source files constructable in the current directory
  1599. X *            (unioned with existing setting, if necessary).
  1600. X *    dot_obj        Object files constructable in the current directory
  1601. X *            (unioned with existing setting, if necessary).
  1602. X *    dot_clean    Files which may be removed from the current directory
  1603. X *            in a clean target.            
  1604. X *
  1605. X * MANIFEST: cookbook for using assembler
  1606. X */
  1607. X
  1608. X#pragma once
  1609. X
  1610. Xif [not [defined as]] then
  1611. X    as = as;
  1612. Xif [not [defined as_flags]] then
  1613. X    as_flags = ;
  1614. Xif [not [defined dot_src]] then
  1615. X    dot_src = ;
  1616. Xif [not [defined dot_obj]] then
  1617. X    dot_obj = ;
  1618. Xas_src = [glob *.s];
  1619. Xdot_src = [stringset [dot_src] [as_src]];
  1620. Xdot_obj = [stringset [dot_obj] [fromto %.s %.o [as_src]]];
  1621. Xdot_clean = [stringset [dot_clean] [dot_obj]];
  1622. X
  1623. X%.o: %.s
  1624. X    {
  1625. X    [as] [as_flags] -o %.o %.s;
  1626. X    }
  1627. END_OF_FILE
  1628. if test 1238 -ne `wc -c <'lib/as'`; then
  1629.     echo shar: \"'lib/as'\" unpacked with wrong size!
  1630. fi
  1631. # end of 'lib/as'
  1632. fi
  1633. if test -f 'lib/gcc' -a "${1}" != "-c" ; then 
  1634.   echo shar: Will not clobber existing file \"'lib/gcc'\"
  1635. else
  1636. echo shar: Extracting \"'lib/gcc'\" \(196 characters\)
  1637. sed "s/^X//" >'lib/gcc' <<'END_OF_FILE'
  1638. X/*
  1639. X * MANIFEST: cookbook for using gcc
  1640. X */
  1641. X#pragma once
  1642. X#include "c"
  1643. Xgcc_include_dir = /usr/local/lib/gcc-include;
  1644. Xcc = gcc;
  1645. Xcc_include_flags = [stringset -I[gcc_include_dir] [cc_include_flags]];
  1646. END_OF_FILE
  1647. if test 196 -ne `wc -c <'lib/gcc'`; then
  1648.     echo shar: \"'lib/gcc'\" unpacked with wrong size!
  1649. fi
  1650. # end of 'lib/gcc'
  1651. fi
  1652. if test -f 'lib/home' -a "${1}" != "-c" ; then 
  1653.   echo shar: Will not clobber existing file \"'lib/home'\"
  1654. else
  1655. echo shar: Extracting \"'lib/home'\" \(922 characters\)
  1656. sed "s/^X//" >'lib/home' <<'END_OF_FILE'
  1657. X/*
  1658. X * NAME
  1659. X *    home - define installation locations
  1660. X *
  1661. X * DESCRIPTION
  1662. X *    This cookbook defined where certain directoris are,
  1663. X *    and some common uses of those directories,
  1664. X *    relative to $HOME.
  1665. X *
  1666. X * VARIABLES
  1667. X *    home        users' home directory.
  1668. X *    bin        directory to place program binaries into
  1669. X *    include        directory to place include files into
  1670. X *    lib        directory to place libraries into
  1671. X *    cc_include_flags The [include] directory is added to the search args
  1672. X *    cc_link_flags    The [lib] directory is added to the search args
  1673. X *
  1674. X * MANIFEST: cookbook for locations in home directory
  1675. X */
  1676. X
  1677. X#pragma once
  1678. X
  1679. Xhome = [getenv HOME];
  1680. Xbin = [home]/bin;
  1681. Xinclude = [home]/include;
  1682. Xlib = [home]/lib;
  1683. X
  1684. Xif [not [defined cc_include_flags]] then
  1685. X    cc_include_flags = ;
  1686. Xcc_include_flags = [stringset [cc_include_flags] -I[include]];
  1687. X
  1688. Xif [not [defined cc_link_flags]] then
  1689. X    cc_link_flags = ;
  1690. Xcc_link_flags = [stringset [cc_link_flags] -L[lib]];
  1691. END_OF_FILE
  1692. if test 922 -ne `wc -c <'lib/home'`; then
  1693.     echo shar: \"'lib/home'\" unpacked with wrong size!
  1694. fi
  1695. # end of 'lib/home'
  1696. fi
  1697. if test -f 'lib/print' -a "${1}" != "-c" ; then 
  1698.   echo shar: Will not clobber existing file \"'lib/print'\"
  1699. else
  1700. echo shar: Extracting \"'lib/print'\" \(676 characters\)
  1701. sed "s/^X//" >'lib/print' <<'END_OF_FILE'
  1702. X/*
  1703. X * NAME
  1704. X *    print - print files
  1705. X *
  1706. X * DESCRIPTION
  1707. X *    This cookbook is used to print files.
  1708. X *    It will almost certainly need to be changed for every site.
  1709. X *
  1710. X * RECIPES
  1711. X *    %.lw: %.ps    print a PostScript file
  1712. X *    %.lp: %        print a text file
  1713. X *
  1714. X * VARIABLES
  1715. X *    lp        The print command.
  1716. X *            Not altered if already defined.
  1717. X *    lp_flags    OPtions passed to the print command.
  1718. X *            Not altered if already defined.
  1719. X *            Defaults to empty.
  1720. X *
  1721. X * MANIFEST: cookbook for printing files
  1722. X */
  1723. X
  1724. X#pragma once
  1725. X
  1726. Xif [not [defined lp]] then
  1727. X    lp = lp;
  1728. Xif [not [defined lp_flags]] then
  1729. X    lp_flags = ;
  1730. X
  1731. X%.lw: %.ps
  1732. X    {
  1733. X    [lp] [lp_flags] -dlaser %.ps;
  1734. X    }
  1735. X
  1736. X%.lp: %
  1737. X    {
  1738. X    [lp] [lp_flags] %;
  1739. X    }
  1740. END_OF_FILE
  1741. if test 676 -ne `wc -c <'lib/print'`; then
  1742.     echo shar: \"'lib/print'\" unpacked with wrong size!
  1743. fi
  1744. # end of 'lib/print'
  1745. fi
  1746. if test -f 'lib/sccs' -a "${1}" != "-c" ; then 
  1747.   echo shar: Will not clobber existing file \"'lib/sccs'\"
  1748. else
  1749. echo shar: Extracting \"'lib/sccs'\" \(399 characters\)
  1750. sed "s/^X//" >'lib/sccs' <<'END_OF_FILE'
  1751. X/*
  1752. X * NAME
  1753. X *    sccs - extract files from SCCS
  1754. X *
  1755. X * DESCRIPTION
  1756. X *    This cookbook is used to extract files from SCCS
  1757. X *
  1758. X * RECIPES
  1759. X *    %: SCCS/s.%    extract files from SCCS
  1760. X *
  1761. X * VARIABLES
  1762. X *    get        the sccs get command
  1763. X *
  1764. X * MANIFEST: cookbook for using SCCS
  1765. X */
  1766. X
  1767. X#pragma once
  1768. X
  1769. Xif [not [defined get]] then
  1770. X    get = get;
  1771. X
  1772. X%0%: %0SCCS/s.%
  1773. X    if [exists %0SCCS/s.%]
  1774. X    {
  1775. X    [get] -p %0SCCS/s.% > %0%;
  1776. X    }
  1777. END_OF_FILE
  1778. if test 399 -ne `wc -c <'lib/sccs'`; then
  1779.     echo shar: \"'lib/sccs'\" unpacked with wrong size!
  1780. fi
  1781. # end of 'lib/sccs'
  1782. fi
  1783. if test -f 'lib/text' -a "${1}" != "-c" ; then 
  1784.   echo shar: Will not clobber existing file \"'lib/text'\"
  1785. else
  1786. echo shar: Extracting \"'lib/text'\" \(1177 characters\)
  1787. sed "s/^X//" >'lib/text' <<'END_OF_FILE'
  1788. X/*
  1789. X * NAME
  1790. X *    text - process text 
  1791. X *
  1792. X * DESCRIPTION
  1793. X *    This cookbook is used to process text documents.
  1794. X *
  1795. X *    Include file dependencies are automatically detected.
  1796. X *    The requirements for various preprocessors are automatically detected
  1797. X *    (eg eqn, tbl, pic, graf).
  1798. X *
  1799. X * RECIPES
  1800. X *    %.ps: %.t    PostScript for generic *roff source
  1801. X *    %: %.t        straight text from *roff source
  1802. X *
  1803. X * VARIABLES
  1804. X *    text_incl    The text_incl command (finds include dependencies).
  1805. X *            Not altered if already set.
  1806. X *    text_roff    The text_roff command     (finds preprocessor needs).
  1807. X *            Not altered if already set.
  1808. X *    roff_flags    Arguments passed to text_roff,
  1809. X *            and indirectly to the *roff program.
  1810. X *            Not altered if already set.
  1811. X *            Defaults to empty.
  1812. X *
  1813. X * MANIFEST: cookbook for formatting documents
  1814. X */
  1815. X
  1816. X#pragma once
  1817. X
  1818. Xif [not [defined text_incl]] then
  1819. X    text_incl = text_incl;
  1820. Xif [not [defined text_roff]] then
  1821. X    text_roff = text_roff;
  1822. Xif [not [defined roff_flags]] then
  1823. X    roff_flags = ;
  1824. X
  1825. X%.ps: %.t: [collect [text_incl] %.t]
  1826. X    {
  1827. X    [collect [text_roff] -e [roff_flags] %.t] > %.ps;
  1828. X    }
  1829. X    
  1830. X%: %.t: [collect [text_incl] %.t]
  1831. X    {
  1832. X    [collect [text_roff] -n [roff_flags] %.t] > %.doc;
  1833. X    }
  1834. END_OF_FILE
  1835. if test 1177 -ne `wc -c <'lib/text'`; then
  1836.     echo shar: \"'lib/text'\" unpacked with wrong size!
  1837. fi
  1838. # end of 'lib/text'
  1839. fi
  1840. if test -f 'lib/usr' -a "${1}" != "-c" ; then 
  1841.   echo shar: Will not clobber existing file \"'lib/usr'\"
  1842. else
  1843. echo shar: Extracting \"'lib/usr'\" \(437 characters\)
  1844. sed "s/^X//" >'lib/usr' <<'END_OF_FILE'
  1845. X/*
  1846. X * NAME
  1847. X *    usr - define installation locations
  1848. X *
  1849. X * DESCRIPTION
  1850. X *    This cookbook defined where certain directoris are,
  1851. X *    relative to /usr.
  1852. X *
  1853. X * VARIABLES
  1854. X *    bin        directory to place program binaries into
  1855. X *    include        directory to place include files into
  1856. X *    lib        directory to place libraries into
  1857. X *
  1858. X * MANIFEST: cookbook for locations in system directories
  1859. X */
  1860. X
  1861. X#pragma once
  1862. X
  1863. Xbin = /usr/bin;
  1864. Xinclude = /usr/include;
  1865. Xlib = /usr/lib;
  1866. END_OF_FILE
  1867. if test 437 -ne `wc -c <'lib/usr'`; then
  1868.     echo shar: \"'lib/usr'\" unpacked with wrong size!
  1869. fi
  1870. # end of 'lib/usr'
  1871. fi
  1872. if test -f 'lib/usr.local' -a "${1}" != "-c" ; then 
  1873.   echo shar: Will not clobber existing file \"'lib/usr.local'\"
  1874. else
  1875. echo shar: Extracting \"'lib/usr.local'\" \(900 characters\)
  1876. sed "s/^X//" >'lib/usr.local' <<'END_OF_FILE'
  1877. X/*
  1878. X * NAME
  1879. X *    usr.local - define installation locations
  1880. X *
  1881. X * DESCRIPTION
  1882. X *    This cookbook defined where certain directoris are,
  1883. X *    and some common uses of those directories,
  1884. X *    relative to /usr/local.
  1885. X *
  1886. X * VARIABLES
  1887. X *    bin        directory to place program binaries into
  1888. X *    include        directory to place include files into
  1889. X *    lib        directory to place libraries into
  1890. X *    cc_include_flags The [include] directory is added to the search args
  1891. X *    cc_link_flags    The [lib] directory is added to the search args
  1892. X *
  1893. X * MANIFEST: cookbook for locations in local system directories
  1894. X */
  1895. X
  1896. X#pragma once
  1897. X
  1898. Xbin = /usr/local/bin;
  1899. Xinclude = /usr/local/include;
  1900. Xlib = /usr/local/lib;
  1901. X
  1902. Xif [not [defined cc_include_flags]] then
  1903. X    cc_include_flags = ;
  1904. Xcc_include_flags = [stringset [cc_include_flags] -I[include]];
  1905. X
  1906. Xif [not [defined cc_link_flags]] then
  1907. X    cc_link_flags = ;
  1908. Xcc_link_flags = [stringset [cc_link_flags] -L[lib]];
  1909. END_OF_FILE
  1910. if test 900 -ne `wc -c <'lib/usr.local'`; then
  1911.     echo shar: \"'lib/usr.local'\" unpacked with wrong size!
  1912. fi
  1913. # end of 'lib/usr.local'
  1914. fi
  1915. if test ! -d 'man1' ; then
  1916.     echo shar: Creating directory \"'man1'\"
  1917.     mkdir 'man1'
  1918. fi
  1919. if test -f 'man1/install.sh' -a "${1}" != "-c" ; then 
  1920.   echo shar: Will not clobber existing file \"'man1/install.sh'\"
  1921. else
  1922. echo shar: Extracting \"'man1/install.sh'\" \(1032 characters\)
  1923. sed "s/^X//" >'man1/install.sh' <<'END_OF_FILE'
  1924. X#! /bin/sh
  1925. X#
  1926. X#    cook - file construction tool
  1927. X#    Copyright (C) 1993 Peter Miller.
  1928. X#    All rights reserved.
  1929. X#
  1930. X#    This program is free software; you can redistribute it and/or modify
  1931. X#    it under the terms of the GNU General Public License as published by
  1932. X#    the Free Software Foundation; either version 2 of the License, or
  1933. X#    (at your option) any later version.
  1934. X#
  1935. X#    This program is distributed in the hope that it will be useful,
  1936. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1937. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1938. X#    GNU General Public License for more details.
  1939. X#
  1940. X#    You should have received a copy of the GNU General Public License
  1941. X#    along with this program; if not, write to the Free Software
  1942. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1943. X#
  1944. X# MANIFEST: shell script to install section 1 manual pages
  1945. X#
  1946. Xcase $# in
  1947. X1)
  1948. X    ;;
  1949. X*)
  1950. X    echo "usage: $0 somewhere/man1" 1>&2
  1951. X    exit 1
  1952. X    ;;
  1953. Xesac
  1954. X
  1955. Xset -e
  1956. Xcd man1
  1957. Xfor file in *.1
  1958. Xdo
  1959. X    echo "soelim $file > $1/$file"
  1960. X    soelim $file > $1/$file
  1961. Xdone
  1962. Xexit 0
  1963. END_OF_FILE
  1964. if test 1032 -ne `wc -c <'man1/install.sh'`; then
  1965.     echo shar: \"'man1/install.sh'\" unpacked with wrong size!
  1966. fi
  1967. # end of 'man1/install.sh'
  1968. fi
  1969. if test ! -d 'roffpp' ; then
  1970.     echo shar: Creating directory \"'roffpp'\"
  1971.     mkdir 'roffpp'
  1972. fi
  1973. if test -f 'roffpp/preprocess.h' -a "${1}" != "-c" ; then 
  1974.   echo shar: Will not clobber existing file \"'roffpp/preprocess.h'\"
  1975. else
  1976. echo shar: Extracting \"'roffpp/preprocess.h'\" \(1044 characters\)
  1977. sed "s/^X//" >'roffpp/preprocess.h' <<'END_OF_FILE'
  1978. X/*
  1979. X *    cook - file construction tool
  1980. X *    Copyright (C) 1992, 1993 Peter Miller.
  1981. X *    All rights reserved.
  1982. X *
  1983. X *    This program is free software; you can redistribute it and/or modify
  1984. X *    it under the terms of the GNU General Public License as published by
  1985. X *    the Free Software Foundation; either version 2 of the License, or
  1986. X *    (at your option) any later version.
  1987. X *
  1988. X *    This program is distributed in the hope that it will be useful,
  1989. X *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1990. X *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1991. X *    GNU General Public License for more details.
  1992. X *
  1993. X *    You should have received a copy of the GNU General Public License
  1994. X *    along with this program; if not, write to the Free Software
  1995. X *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1996. X *
  1997. X * MANIFEST: interface definition for roffpp/preprocess.c
  1998. X */
  1999. X
  2000. X#ifndef PREPROCESS_H
  2001. X#define PREPROCESS_H
  2002. X
  2003. X#include <main.h>
  2004. X
  2005. Xvoid preprocess_include _((char *));
  2006. Xvoid preprocess _((char *infile, char *outfile));
  2007. X
  2008. X#endif /* PREPROCESS_H */
  2009. END_OF_FILE
  2010. if test 1044 -ne `wc -c <'roffpp/preprocess.h'`; then
  2011.     echo shar: \"'roffpp/preprocess.h'\" unpacked with wrong size!
  2012. fi
  2013. # end of 'roffpp/preprocess.h'
  2014. fi
  2015. if test ! -d 'test' ; then
  2016.     echo shar: Creating directory \"'test'\"
  2017.     mkdir 'test'
  2018. fi
  2019. if test ! -d 'test/00' ; then
  2020.     echo shar: Creating directory \"'test/00'\"
  2021.     mkdir 'test/00'
  2022. fi
  2023. if test -f 'test/00/t0001a.sh' -a "${1}" != "-c" ; then 
  2024.   echo shar: Will not clobber existing file \"'test/00/t0001a.sh'\"
  2025. else
  2026. echo shar: Extracting \"'test/00/t0001a.sh'\" \(1319 characters\)
  2027. sed "s/^X//" >'test/00/t0001a.sh' <<'END_OF_FILE'
  2028. X#! /bin/sh
  2029. X#
  2030. X#    cook - file construction tool
  2031. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2032. X#    All rights reserved.
  2033. X#
  2034. X#    This program is free software; you can redistribute it and/or modify
  2035. X#    it under the terms of the GNU General Public License as published by
  2036. X#    the Free Software Foundation; either version 2 of the License, or
  2037. X#    (at your option) any later version.
  2038. X#
  2039. X#    This program is distributed in the hope that it will be useful,
  2040. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2041. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2042. X#    GNU General Public License for more details.
  2043. X#
  2044. X#    You should have received a copy of the GNU General Public License
  2045. X#    along with this program; if not, write to the Free Software
  2046. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2047. X#
  2048. X# MANIFEST: test the "and" builtin function
  2049. X#
  2050. Xtmp=/tmp/$$
  2051. Xhere=`pwd`
  2052. X
  2053. Xfail()
  2054. X{
  2055. X    echo 'FAILED test of builtin function "and"' 1>&2
  2056. X    cd $here
  2057. X    rm -rf $tmp
  2058. X    exit 1
  2059. X}
  2060. Xpass()
  2061. X{
  2062. X    cd $here
  2063. X    rm -rf $tmp
  2064. X    exit 0
  2065. X}
  2066. Xtrap "fail" 1 2 3 15
  2067. X
  2068. Xmkdir $tmp
  2069. Xcd $tmp
  2070. X
  2071. Xcat > Howto.cook <<foobar
  2072. Xtest:
  2073. X{
  2074. X    if [ and 0 0 ] then fail;
  2075. X    if [ and 0 1 ] then fail;
  2076. X    if [ and 1 0 ] then fail;
  2077. X    if [not [ and 1 1 ]] then fail;
  2078. X}
  2079. Xfoobar
  2080. Xif test $? -ne 0 ; then fail; fi
  2081. X
  2082. X$here/bin/cook -nl
  2083. Xif test $? -ne 0 ; then fail; fi
  2084. X
  2085. X# probably OK
  2086. Xpass
  2087. END_OF_FILE
  2088. if test 1319 -ne `wc -c <'test/00/t0001a.sh'`; then
  2089.     echo shar: \"'test/00/t0001a.sh'\" unpacked with wrong size!
  2090. fi
  2091. # end of 'test/00/t0001a.sh'
  2092. fi
  2093. if test -f 'test/00/t0003a.sh' -a "${1}" != "-c" ; then 
  2094.   echo shar: Will not clobber existing file \"'test/00/t0003a.sh'\"
  2095. else
  2096. echo shar: Extracting \"'test/00/t0003a.sh'\" \(1287 characters\)
  2097. sed "s/^X//" >'test/00/t0003a.sh' <<'END_OF_FILE'
  2098. X#! /bin/sh
  2099. X#
  2100. X#    cook - file construction tool
  2101. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2102. X#    All rights reserved.
  2103. X#
  2104. X#    This program is free software; you can redistribute it and/or modify
  2105. X#    it under the terms of the GNU General Public License as published by
  2106. X#    the Free Software Foundation; either version 2 of the License, or
  2107. X#    (at your option) any later version.
  2108. X#
  2109. X#    This program is distributed in the hope that it will be useful,
  2110. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2111. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2112. X#    GNU General Public License for more details.
  2113. X#
  2114. X#    You should have received a copy of the GNU General Public License
  2115. X#    along with this program; if not, write to the Free Software
  2116. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2117. X#
  2118. X# MANIFEST: test "collect" builtin function
  2119. X#
  2120. X
  2121. Xtmp=/tmp/$$
  2122. Xhere=`pwd`
  2123. X
  2124. Xfail()
  2125. X{
  2126. X    echo 'FAILED test of builtin function "collect"' 1>&2
  2127. X    cd $here
  2128. X    rm -rf $tmp
  2129. X    exit 1
  2130. X}
  2131. Xpass()
  2132. X{
  2133. X    cd $here
  2134. X    rm -rf $tmp
  2135. X    exit 0
  2136. X}
  2137. Xtrap "fail" 1 2 3 15
  2138. X
  2139. Xmkdir $tmp
  2140. Xcd $tmp
  2141. X
  2142. Xcat > Howto.cook <<foobar
  2143. Xtest:
  2144. X{
  2145. X    answer = [collect echo a b c];
  2146. X    if [not [in [count [answer]] 3]] then fail;
  2147. X}
  2148. Xfoobar
  2149. Xif test $? -ne 0 ; then fail; fi
  2150. X
  2151. X$here/bin/cook -nl
  2152. Xif test $? -ne 0 ; then fail; fi
  2153. X
  2154. X# probably OK
  2155. Xpass
  2156. END_OF_FILE
  2157. if test 1287 -ne `wc -c <'test/00/t0003a.sh'`; then
  2158.     echo shar: \"'test/00/t0003a.sh'\" unpacked with wrong size!
  2159. fi
  2160. # end of 'test/00/t0003a.sh'
  2161. fi
  2162. if test -f 'test/00/t0004a.sh' -a "${1}" != "-c" ; then 
  2163.   echo shar: Will not clobber existing file \"'test/00/t0004a.sh'\"
  2164. else
  2165. echo shar: Extracting \"'test/00/t0004a.sh'\" \(1309 characters\)
  2166. sed "s/^X//" >'test/00/t0004a.sh' <<'END_OF_FILE'
  2167. X#! /bin/sh
  2168. X#
  2169. X#    cook - file construction tool
  2170. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2171. X#    All rights reserved.
  2172. X#
  2173. X#    This program is free software; you can redistribute it and/or modify
  2174. X#    it under the terms of the GNU General Public License as published by
  2175. X#    the Free Software Foundation; either version 2 of the License, or
  2176. X#    (at your option) any later version.
  2177. X#
  2178. X#    This program is distributed in the hope that it will be useful,
  2179. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2180. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2181. X#    GNU General Public License for more details.
  2182. X#
  2183. X#    You should have received a copy of the GNU General Public License
  2184. X#    along with this program; if not, write to the Free Software
  2185. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2186. X#
  2187. X# MANIFEST: test "collect_lines" builtin function
  2188. X#
  2189. X
  2190. Xtmp=/tmp/$$
  2191. Xhere=`pwd`
  2192. X
  2193. Xfail()
  2194. X{
  2195. X    echo 'FAILED test of the builtin function "collect_lines"' 1>&2
  2196. X    cd $here
  2197. X    rm -rf $tmp
  2198. X    exit 1
  2199. X}
  2200. Xpass()
  2201. X{
  2202. X    cd $here
  2203. X    rm -rf $tmp
  2204. X    exit 0
  2205. X}
  2206. Xtrap "fail" 1 2 3 15
  2207. X
  2208. Xmkdir $tmp
  2209. Xcd $tmp
  2210. X
  2211. Xcat > Howto.cook <<foobar
  2212. Xtest:
  2213. X{
  2214. X    answer = [collect_lines echo a b c];
  2215. X    if [not [in [count [answer]] 1]] then fail;
  2216. X}
  2217. Xfoobar
  2218. Xif test $? -ne 0 ; then fail; fi
  2219. X
  2220. X$here/bin/cook -nl
  2221. Xif test $? -ne 0 ; then fail; fi
  2222. X
  2223. X# probably OK
  2224. Xpass
  2225. END_OF_FILE
  2226. if test 1309 -ne `wc -c <'test/00/t0004a.sh'`; then
  2227.     echo shar: \"'test/00/t0004a.sh'\" unpacked with wrong size!
  2228. fi
  2229. # end of 'test/00/t0004a.sh'
  2230. fi
  2231. if test -f 'test/00/t0006a.sh' -a "${1}" != "-c" ; then 
  2232.   echo shar: Will not clobber existing file \"'test/00/t0006a.sh'\"
  2233. else
  2234. echo shar: Extracting \"'test/00/t0006a.sh'\" \(1297 characters\)
  2235. sed "s/^X//" >'test/00/t0006a.sh' <<'END_OF_FILE'
  2236. X#! /bin/sh
  2237. X#
  2238. X#    cook - file construction tool
  2239. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2240. X#    All rights reserved.
  2241. X#
  2242. X#    This program is free software; you can redistribute it and/or modify
  2243. X#    it under the terms of the GNU General Public License as published by
  2244. X#    the Free Software Foundation; either version 2 of the License, or
  2245. X#    (at your option) any later version.
  2246. X#
  2247. X#    This program is distributed in the hope that it will be useful,
  2248. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2249. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2250. X#    GNU General Public License for more details.
  2251. X#
  2252. X#    You should have received a copy of the GNU General Public License
  2253. X#    along with this program; if not, write to the Free Software
  2254. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2255. X#
  2256. X# MANIFEST: test the "defined" builtin function
  2257. X#
  2258. Xtmp=/tmp/$$
  2259. Xhere=`pwd`
  2260. X
  2261. Xfail()
  2262. X{
  2263. X    echo 'FAILED test of builtin function "defined"' 1>&2
  2264. X    cd $here
  2265. X    rm -rf $tmp
  2266. X    exit 1
  2267. X}
  2268. Xpass()
  2269. X{
  2270. X    cd $here
  2271. X    rm -rf $tmp
  2272. X    exit 0
  2273. X}
  2274. Xtrap "fail" 1 2 3 15
  2275. X
  2276. Xmkdir $tmp
  2277. Xcd $tmp
  2278. X
  2279. Xcat > Howto.cook <<foobar
  2280. Xtrythis = snit;
  2281. Xtest:
  2282. X{
  2283. X    if [defined foo] then fail;
  2284. X    if [not [defined trythis]] then fail;
  2285. X}
  2286. Xfoobar
  2287. Xif test $? -ne 0 ; then fail; fi
  2288. X
  2289. X$here/bin/cook -nl
  2290. Xif test $? -ne 0 ; then fail; fi
  2291. X
  2292. X# probably OK
  2293. Xpass
  2294. END_OF_FILE
  2295. if test 1297 -ne `wc -c <'test/00/t0006a.sh'`; then
  2296.     echo shar: \"'test/00/t0006a.sh'\" unpacked with wrong size!
  2297. fi
  2298. # end of 'test/00/t0006a.sh'
  2299. fi
  2300. if test -f 'test/00/t0008a.sh' -a "${1}" != "-c" ; then 
  2301.   echo shar: Will not clobber existing file \"'test/00/t0008a.sh'\"
  2302. else
  2303. echo shar: Extracting \"'test/00/t0008a.sh'\" \(1262 characters\)
  2304. sed "s/^X//" >'test/00/t0008a.sh' <<'END_OF_FILE'
  2305. X#! /bin/sh
  2306. X#
  2307. X#    cook - file construction tool
  2308. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2309. X#    All rights reserved.
  2310. X#
  2311. X#    This program is free software; you can redistribute it and/or modify
  2312. X#    it under the terms of the GNU General Public License as published by
  2313. X#    the Free Software Foundation; either version 2 of the License, or
  2314. X#    (at your option) any later version.
  2315. X#
  2316. X#    This program is distributed in the hope that it will be useful,
  2317. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2318. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2319. X#    GNU General Public License for more details.
  2320. X#
  2321. X#    You should have received a copy of the GNU General Public License
  2322. X#    along with this program; if not, write to the Free Software
  2323. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2324. X#
  2325. X# MANIFEST: test the "downcase" builtin function
  2326. X#
  2327. Xtmp=/tmp/$$
  2328. Xhere=`pwd`
  2329. X
  2330. Xfail()
  2331. X{
  2332. X    echo 'FAILED test of builtin function "downcase"' 1>&2
  2333. X    cd $here
  2334. X    rm -rf $tmp
  2335. X    exit 1
  2336. X}
  2337. Xpass()
  2338. X{
  2339. X    cd $here
  2340. X    rm -rf $tmp
  2341. X    exit 0
  2342. X}
  2343. Xtrap "fail" 1 2 3 15
  2344. X
  2345. Xmkdir $tmp
  2346. Xcd $tmp
  2347. X
  2348. Xcat > Howto.cook <<foobar
  2349. Xtest:
  2350. X{
  2351. X    if [not [in [downcase ABcd] abcd]] then fail;
  2352. X}
  2353. Xfoobar
  2354. Xif test $? -ne 0 ; then fail; fi
  2355. X
  2356. X$here/bin/cook -nl
  2357. Xif test $? -ne 0 ; then fail; fi
  2358. X
  2359. X# probably OK
  2360. Xpass
  2361. END_OF_FILE
  2362. if test 1262 -ne `wc -c <'test/00/t0008a.sh'`; then
  2363.     echo shar: \"'test/00/t0008a.sh'\" unpacked with wrong size!
  2364. fi
  2365. # end of 'test/00/t0008a.sh'
  2366. fi
  2367. if test -f 'test/00/t0010a.sh' -a "${1}" != "-c" ; then 
  2368.   echo shar: Will not clobber existing file \"'test/00/t0010a.sh'\"
  2369. else
  2370. echo shar: Extracting \"'test/00/t0010a.sh'\" \(1303 characters\)
  2371. sed "s/^X//" >'test/00/t0010a.sh' <<'END_OF_FILE'
  2372. X#! /bin/sh
  2373. X#
  2374. X#    cook - file construction tool
  2375. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2376. X#    All rights reserved.
  2377. X#
  2378. X#    This program is free software; you can redistribute it and/or modify
  2379. X#    it under the terms of the GNU General Public License as published by
  2380. X#    the Free Software Foundation; either version 2 of the License, or
  2381. X#    (at your option) any later version.
  2382. X#
  2383. X#    This program is distributed in the hope that it will be useful,
  2384. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2385. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2386. X#    GNU General Public License for more details.
  2387. X#
  2388. X#    You should have received a copy of the GNU General Public License
  2389. X#    along with this program; if not, write to the Free Software
  2390. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2391. X#
  2392. X# MANIFEST: test the "execute" builtin function
  2393. X#
  2394. Xtmp=/tmp/$$
  2395. Xhere=`pwd`
  2396. X
  2397. Xfail()
  2398. X{
  2399. X    echo 'FAILED test of builtin function "execute"' 1>&2
  2400. X    cd $here
  2401. X    rm -rf $tmp
  2402. X    exit 1
  2403. X}
  2404. Xpass()
  2405. X{
  2406. X    cd $here
  2407. X    rm -rf $tmp
  2408. X    exit 0
  2409. X}
  2410. Xtrap "fail" 1 2 3 15
  2411. X
  2412. Xmkdir $tmp
  2413. Xcd $tmp
  2414. X
  2415. Xcat > Howto.cook <<foobar
  2416. Xtest:
  2417. X{
  2418. X    if [execute sh -c \'exit 1\'] then fail;
  2419. X    if [not [execute sh -c \'exit 0\']] then fail;
  2420. X}
  2421. Xfoobar
  2422. Xif test $? -ne 0 ; then fail; fi
  2423. X
  2424. X$here/bin/cook -nl
  2425. Xif test $? -ne 0 ; then fail; fi
  2426. X
  2427. X# probably OK
  2428. Xpass
  2429. END_OF_FILE
  2430. if test 1303 -ne `wc -c <'test/00/t0010a.sh'`; then
  2431.     echo shar: \"'test/00/t0010a.sh'\" unpacked with wrong size!
  2432. fi
  2433. # end of 'test/00/t0010a.sh'
  2434. fi
  2435. if test -f 'test/00/t0011a.sh' -a "${1}" != "-c" ; then 
  2436.   echo shar: Will not clobber existing file \"'test/00/t0011a.sh'\"
  2437. else
  2438. echo shar: Extracting \"'test/00/t0011a.sh'\" \(1285 characters\)
  2439. sed "s/^X//" >'test/00/t0011a.sh' <<'END_OF_FILE'
  2440. X#! /bin/sh
  2441. X#
  2442. X#    cook - file construction tool
  2443. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2444. X#    All rights reserved.
  2445. X#
  2446. X#    This program is free software; you can redistribute it and/or modify
  2447. X#    it under the terms of the GNU General Public License as published by
  2448. X#    the Free Software Foundation; either version 2 of the License, or
  2449. X#    (at your option) any later version.
  2450. X#
  2451. X#    This program is distributed in the hope that it will be useful,
  2452. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2453. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2454. X#    GNU General Public License for more details.
  2455. X#
  2456. X#    You should have received a copy of the GNU General Public License
  2457. X#    along with this program; if not, write to the Free Software
  2458. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2459. X#
  2460. X# MANIFEST: test the "exists" builtin function
  2461. X#
  2462. Xtmp=/tmp/$$
  2463. Xhere=`pwd`
  2464. X
  2465. Xfail()
  2466. X{
  2467. X    echo 'FAILED test of builtin function "exists"' 1>&2
  2468. X    cd $here
  2469. X    rm -rf $tmp
  2470. X    exit 1
  2471. X}
  2472. Xpass()
  2473. X{
  2474. X    cd $here
  2475. X    rm -rf $tmp
  2476. X    exit 0
  2477. X}
  2478. Xtrap "fail" 1 2 3 15
  2479. X
  2480. Xmkdir $tmp
  2481. Xcd $tmp
  2482. X
  2483. Xcat > Howto.cook <<foobar
  2484. Xtest:
  2485. X{
  2486. X    if [exists bullshit] then fail;
  2487. X    if [not [exists Howto.cook]] then fail;
  2488. X}
  2489. Xfoobar
  2490. Xif test $? -ne 0 ; then fail; fi
  2491. X
  2492. X$here/bin/cook -nl
  2493. Xif test $? -ne 0 ; then fail; fi
  2494. X
  2495. X# probably OK
  2496. Xpass
  2497. END_OF_FILE
  2498. if test 1285 -ne `wc -c <'test/00/t0011a.sh'`; then
  2499.     echo shar: \"'test/00/t0011a.sh'\" unpacked with wrong size!
  2500. fi
  2501. # end of 'test/00/t0011a.sh'
  2502. fi
  2503. if test -f 'test/00/t0012a.sh' -a "${1}" != "-c" ; then 
  2504.   echo shar: Will not clobber existing file \"'test/00/t0012a.sh'\"
  2505. else
  2506. echo shar: Extracting \"'test/00/t0012a.sh'\" \(1356 characters\)
  2507. sed "s/^X//" >'test/00/t0012a.sh' <<'END_OF_FILE'
  2508. X#! /bin/sh
  2509. X#
  2510. X#    cook - file construction tool
  2511. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2512. X#    All rights reserved.
  2513. X#
  2514. X#    This program is free software; you can redistribute it and/or modify
  2515. X#    it under the terms of the GNU General Public License as published by
  2516. X#    the Free Software Foundation; either version 2 of the License, or
  2517. X#    (at your option) any later version.
  2518. X#
  2519. X#    This program is distributed in the hope that it will be useful,
  2520. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2521. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2522. X#    GNU General Public License for more details.
  2523. X#
  2524. X#    You should have received a copy of the GNU General Public License
  2525. X#    along with this program; if not, write to the Free Software
  2526. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2527. X#
  2528. X# MANIFEST: test the "find_command" builtin function
  2529. X#
  2530. Xtmp=/tmp/$$
  2531. Xhere=`pwd`
  2532. X
  2533. Xfail()
  2534. X{
  2535. X    echo 'FAILED test of builtin function "find_command"' 1>&2
  2536. X    cd $here
  2537. X    rm -rf $tmp
  2538. X    exit 1
  2539. X}
  2540. Xpass()
  2541. X{
  2542. X    cd $here
  2543. X    rm -rf $tmp
  2544. X    exit 0
  2545. X}
  2546. Xtrap "fail" 1 2 3 15
  2547. X
  2548. Xmkdir $tmp
  2549. Xcd $tmp
  2550. X
  2551. Xcat > Howto.cook <<foobar
  2552. Xtest:
  2553. X{
  2554. X    if [find_command really_stupid] then fail;
  2555. X    if [not [in [find_command sh] /bin/sh /usr/bin/sh /usr/ucb/sh
  2556. X        /sbin/sh ] ] then fail;
  2557. X}
  2558. Xfoobar
  2559. Xif test $? -ne 0 ; then fail; fi
  2560. X
  2561. X$here/bin/cook -nl
  2562. Xif test $? -ne 0 ; then fail; fi
  2563. X
  2564. X# probably OK
  2565. Xpass
  2566. END_OF_FILE
  2567. if test 1356 -ne `wc -c <'test/00/t0012a.sh'`; then
  2568.     echo shar: \"'test/00/t0012a.sh'\" unpacked with wrong size!
  2569. fi
  2570. # end of 'test/00/t0012a.sh'
  2571. fi
  2572. if test -f 'test/00/t0013a.sh' -a "${1}" != "-c" ; then 
  2573.   echo shar: Will not clobber existing file \"'test/00/t0013a.sh'\"
  2574. else
  2575. echo shar: Extracting \"'test/00/t0013a.sh'\" \(1353 characters\)
  2576. sed "s/^X//" >'test/00/t0013a.sh' <<'END_OF_FILE'
  2577. X#! /bin/sh
  2578. X#
  2579. X#    cook - file construction tool
  2580. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2581. X#    All rights reserved.
  2582. X#
  2583. X#    This program is free software; you can redistribute it and/or modify
  2584. X#    it under the terms of the GNU General Public License as published by
  2585. X#    the Free Software Foundation; either version 2 of the License, or
  2586. X#    (at your option) any later version.
  2587. X#
  2588. X#    This program is distributed in the hope that it will be useful,
  2589. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2590. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2591. X#    GNU General Public License for more details.
  2592. X#
  2593. X#    You should have received a copy of the GNU General Public License
  2594. X#    along with this program; if not, write to the Free Software
  2595. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2596. X#
  2597. X# MANIFEST: test the "fromto" builtin function
  2598. X#
  2599. Xtmp=/tmp/$$
  2600. Xhere=`pwd`
  2601. X
  2602. Xfail()
  2603. X{
  2604. X    echo 'FAILED test of builtin function "fromto"' 1>&2
  2605. X    cd $here
  2606. X    rm -rf $tmp
  2607. X    exit 1
  2608. X}
  2609. Xpass()
  2610. X{
  2611. X    cd $here
  2612. X    rm -rf $tmp
  2613. X    exit 0
  2614. X}
  2615. Xtrap "fail" 1 2 3 15
  2616. X
  2617. Xmkdir $tmp
  2618. Xcd $tmp
  2619. X
  2620. Xcat > Howto.cook <<foobar
  2621. Xtest:
  2622. X{
  2623. X    if [not [in [fromto %.c %.o foobar.c] foobar.o]] then fail;
  2624. X    if [not [in [fromto %1/%2.c %1/%2.o snot/foobar.c] snot/foobar.o]]
  2625. X        then fail;
  2626. X}
  2627. Xfoobar
  2628. Xif test $? -ne 0 ; then fail; fi
  2629. X
  2630. X$here/bin/cook -nl
  2631. Xif test $? -ne 0 ; then fail; fi
  2632. X
  2633. X# probably OK
  2634. Xpass
  2635. END_OF_FILE
  2636. if test 1353 -ne `wc -c <'test/00/t0013a.sh'`; then
  2637.     echo shar: \"'test/00/t0013a.sh'\" unpacked with wrong size!
  2638. fi
  2639. # end of 'test/00/t0013a.sh'
  2640. fi
  2641. if test -f 'test/00/t0014a.sh' -a "${1}" != "-c" ; then 
  2642.   echo shar: Will not clobber existing file \"'test/00/t0014a.sh'\"
  2643. else
  2644. echo shar: Extracting \"'test/00/t0014a.sh'\" \(1309 characters\)
  2645. sed "s/^X//" >'test/00/t0014a.sh' <<'END_OF_FILE'
  2646. X#! /bin/sh
  2647. X#
  2648. X#    cook - file construction tool
  2649. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2650. X#    All rights reserved.
  2651. X#
  2652. X#    This program is free software; you can redistribute it and/or modify
  2653. X#    it under the terms of the GNU General Public License as published by
  2654. X#    the Free Software Foundation; either version 2 of the License, or
  2655. X#    (at your option) any later version.
  2656. X#
  2657. X#    This program is distributed in the hope that it will be useful,
  2658. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2659. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2660. X#    GNU General Public License for more details.
  2661. X#
  2662. X#    You should have received a copy of the GNU General Public License
  2663. X#    along with this program; if not, write to the Free Software
  2664. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2665. X#
  2666. X# MANIFEST: test the "getenv" builtin function
  2667. X#
  2668. Xtmp=/tmp/$$
  2669. Xhere=`pwd`
  2670. X
  2671. Xfail()
  2672. X{
  2673. X    echo 'FAILED test of builtin function "getenv"' 1>&2
  2674. X    cd $here
  2675. X    rm -rf $tmp
  2676. X    exit 1
  2677. X}
  2678. Xpass()
  2679. X{
  2680. X    cd $here
  2681. X    rm -rf $tmp
  2682. X    exit 0
  2683. X}
  2684. Xtrap "fail" 1 2 3 15
  2685. X
  2686. Xmkdir $tmp
  2687. Xcd $tmp
  2688. X
  2689. Xcat > Howto.cook <<foobar
  2690. Xtest:
  2691. X{
  2692. X    if [not [in [getenv HOME] $HOME]] then fail;
  2693. X    if [not [in [getenv LOGNAME] $LOGNAME]] then fail;
  2694. X}
  2695. Xfoobar
  2696. Xif test $? -ne 0 ; then fail; fi
  2697. X
  2698. X$here/bin/cook -nl
  2699. Xif test $? -ne 0 ; then fail; fi
  2700. X
  2701. X# probably OK
  2702. Xpass
  2703. END_OF_FILE
  2704. if test 1309 -ne `wc -c <'test/00/t0014a.sh'`; then
  2705.     echo shar: \"'test/00/t0014a.sh'\" unpacked with wrong size!
  2706. fi
  2707. # end of 'test/00/t0014a.sh'
  2708. fi
  2709. if test -f 'test/00/t0016a.sh' -a "${1}" != "-c" ; then 
  2710.   echo shar: Will not clobber existing file \"'test/00/t0016a.sh'\"
  2711. else
  2712. echo shar: Extracting \"'test/00/t0016a.sh'\" \(1361 characters\)
  2713. sed "s/^X//" >'test/00/t0016a.sh' <<'END_OF_FILE'
  2714. X#! /bin/sh
  2715. X#
  2716. X#    cook - file construction tool
  2717. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2718. X#    All rights reserved.
  2719. X#
  2720. X#    This program is free software; you can redistribute it and/or modify
  2721. X#    it under the terms of the GNU General Public License as published by
  2722. X#    the Free Software Foundation; either version 2 of the License, or
  2723. X#    (at your option) any later version.
  2724. X#
  2725. X#    This program is distributed in the hope that it will be useful,
  2726. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2727. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2728. X#    GNU General Public License for more details.
  2729. X#
  2730. X#    You should have received a copy of the GNU General Public License
  2731. X#    along with this program; if not, write to the Free Software
  2732. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2733. X#
  2734. X# MANIFEST: test the "match" builtin function
  2735. X#
  2736. Xtmp=/tmp/$$
  2737. Xhere=`pwd`
  2738. X
  2739. Xfail()
  2740. X{
  2741. X    echo 'FAILED test of builtin function "match"' 1>&2
  2742. X    cd $here
  2743. X    rm -rf $tmp
  2744. X    exit 1
  2745. X}
  2746. Xpass()
  2747. X{
  2748. X    cd $here
  2749. X    rm -rf $tmp
  2750. X    exit 0
  2751. X}
  2752. Xtrap "fail" 1 2 3 15
  2753. X
  2754. Xmkdir $tmp
  2755. Xcd $tmp
  2756. X
  2757. Xcat > Howto.cook <<foobar
  2758. Xtest:
  2759. X{
  2760. X    if [match %.a balsup] then fail; 
  2761. X    if [not [match %.c foo.c]] then fail;
  2762. X    if [matches %.a balsup] then fail; 
  2763. X    if [not [matches %.c foo.c]] then fail;
  2764. X}
  2765. Xfoobar
  2766. Xif test $? -ne 0 ; then fail; fi
  2767. X
  2768. X$here/bin/cook -nl
  2769. Xif test $? -ne 0 ; then fail; fi
  2770. X
  2771. X# probably OK
  2772. Xpass
  2773. END_OF_FILE
  2774. if test 1361 -ne `wc -c <'test/00/t0016a.sh'`; then
  2775.     echo shar: \"'test/00/t0016a.sh'\" unpacked with wrong size!
  2776. fi
  2777. # end of 'test/00/t0016a.sh'
  2778. fi
  2779. if test -f 'test/00/t0017a.sh' -a "${1}" != "-c" ; then 
  2780.   echo shar: Will not clobber existing file \"'test/00/t0017a.sh'\"
  2781. else
  2782. echo shar: Extracting \"'test/00/t0017a.sh'\" \(1355 characters\)
  2783. sed "s/^X//" >'test/00/t0017a.sh' <<'END_OF_FILE'
  2784. X#! /bin/sh
  2785. X#
  2786. X#    cook - file construction tool
  2787. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2788. X#    All rights reserved.
  2789. X#
  2790. X#    This program is free software; you can redistribute it and/or modify
  2791. X#    it under the terms of the GNU General Public License as published by
  2792. X#    the Free Software Foundation; either version 2 of the License, or
  2793. X#    (at your option) any later version.
  2794. X#
  2795. X#    This program is distributed in the hope that it will be useful,
  2796. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2797. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2798. X#    GNU General Public License for more details.
  2799. X#
  2800. X#    You should have received a copy of the GNU General Public License
  2801. X#    along with this program; if not, write to the Free Software
  2802. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2803. X#
  2804. X# MANIFEST: test the "head" builtin function
  2805. X#
  2806. Xtmp=/tmp/$$
  2807. Xhere=`pwd`
  2808. X
  2809. Xfail()
  2810. X{
  2811. X    echo 'FAILED test of builtin function "head"' 1>&2
  2812. X    cd $here
  2813. X    rm -rf $tmp
  2814. X    exit 1
  2815. X}
  2816. Xpass()
  2817. X{
  2818. X    cd $here
  2819. X    rm -rf $tmp
  2820. X    exit 0
  2821. X}
  2822. Xtrap "fail" 1 2 3 15
  2823. X
  2824. Xmkdir $tmp
  2825. Xcd $tmp
  2826. X
  2827. Xcat > Howto.cook <<foobar
  2828. Xtest:
  2829. X{
  2830. X    if [not [in [head ab cd ef] ab]] then fail;
  2831. X    if [not [in [head ab cd] ab]] then fail;
  2832. X    if [not [in [head ab] ab]] then fail;
  2833. X    if [head] then fail;
  2834. X}
  2835. Xfoobar
  2836. Xif test $? -ne 0 ; then fail; fi
  2837. X
  2838. X$here/bin/cook -nl
  2839. Xif test $? -ne 0 ; then fail; fi
  2840. X
  2841. X# probably OK
  2842. Xpass
  2843. END_OF_FILE
  2844. if test 1355 -ne `wc -c <'test/00/t0017a.sh'`; then
  2845.     echo shar: \"'test/00/t0017a.sh'\" unpacked with wrong size!
  2846. fi
  2847. # end of 'test/00/t0017a.sh'
  2848. fi
  2849. if test -f 'test/00/t0019a.sh' -a "${1}" != "-c" ; then 
  2850.   echo shar: Will not clobber existing file \"'test/00/t0019a.sh'\"
  2851. else
  2852. echo shar: Extracting \"'test/00/t0019a.sh'\" \(1283 characters\)
  2853. sed "s/^X//" >'test/00/t0019a.sh' <<'END_OF_FILE'
  2854. X#! /bin/sh
  2855. X#
  2856. X#    cook - file construction tool
  2857. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2858. X#    All rights reserved.
  2859. X#
  2860. X#    This program is free software; you can redistribute it and/or modify
  2861. X#    it under the terms of the GNU General Public License as published by
  2862. X#    the Free Software Foundation; either version 2 of the License, or
  2863. X#    (at your option) any later version.
  2864. X#
  2865. X#    This program is distributed in the hope that it will be useful,
  2866. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2867. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2868. X#    GNU General Public License for more details.
  2869. X#
  2870. X#    You should have received a copy of the GNU General Public License
  2871. X#    along with this program; if not, write to the Free Software
  2872. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2873. X#
  2874. X# MANIFEST: test the "in" builtin function
  2875. X#
  2876. Xtmp=/tmp/$$
  2877. Xhere=`pwd`
  2878. X
  2879. Xfail()
  2880. X{
  2881. X    echo 'FAILED test of builtin function "in"' 1>&2
  2882. X    cd $here
  2883. X    rm -rf $tmp
  2884. X    exit 1
  2885. X}
  2886. Xpass()
  2887. X{
  2888. X    cd $here
  2889. X    rm -rf $tmp
  2890. X    exit 0
  2891. X}
  2892. Xtrap "fail" 1 2 3 15
  2893. X
  2894. Xmkdir $tmp
  2895. Xcd $tmp
  2896. X
  2897. Xcat > Howto.cook <<foobar
  2898. Xtest:
  2899. X{
  2900. X    if [in a b c d] then fail;
  2901. X    if [in a] then fail;
  2902. X    if [not [in a a]] then fail;
  2903. X}
  2904. Xfoobar
  2905. Xif test $? -ne 0 ; then fail; fi
  2906. X
  2907. X$here/bin/cook -nl
  2908. Xif test $? -ne 0 ; then fail; fi
  2909. X
  2910. X# probably OK
  2911. Xpass
  2912. END_OF_FILE
  2913. if test 1283 -ne `wc -c <'test/00/t0019a.sh'`; then
  2914.     echo shar: \"'test/00/t0019a.sh'\" unpacked with wrong size!
  2915. fi
  2916. # end of 'test/00/t0019a.sh'
  2917. fi
  2918. if test -f 'test/00/t0020a.sh' -a "${1}" != "-c" ; then 
  2919.   echo shar: Will not clobber existing file \"'test/00/t0020a.sh'\"
  2920. else
  2921. echo shar: Extracting \"'test/00/t0020a.sh'\" \(1319 characters\)
  2922. sed "s/^X//" >'test/00/t0020a.sh' <<'END_OF_FILE'
  2923. X#! /bin/sh
  2924. X#
  2925. X#    cook - file construction tool
  2926. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2927. X#    All rights reserved.
  2928. X#
  2929. X#    This program is free software; you can redistribute it and/or modify
  2930. X#    it under the terms of the GNU General Public License as published by
  2931. X#    the Free Software Foundation; either version 2 of the License, or
  2932. X#    (at your option) any later version.
  2933. X#
  2934. X#    This program is distributed in the hope that it will be useful,
  2935. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2936. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2937. X#    GNU General Public License for more details.
  2938. X#
  2939. X#    You should have received a copy of the GNU General Public License
  2940. X#    along with this program; if not, write to the Free Software
  2941. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2942. X#
  2943. X# MANIFEST: test the "match_mask" builtin function
  2944. X#
  2945. Xtmp=/tmp/$$
  2946. Xhere=`pwd`
  2947. X
  2948. Xfail()
  2949. X{
  2950. X    echo 'FAILED test of builtin function "match_mask"' 1>&2
  2951. X    cd $here
  2952. X    rm -rf $tmp
  2953. X    exit 1
  2954. X}
  2955. Xpass()
  2956. X{
  2957. X    cd $here
  2958. X    rm -rf $tmp
  2959. X    exit 0
  2960. X}
  2961. Xtrap "fail" 1 2 3 15
  2962. X
  2963. Xmkdir $tmp
  2964. Xcd $tmp
  2965. X
  2966. Xcat > Howto.cook <<foobar
  2967. Xtest:
  2968. X{
  2969. X    if [match_mask %.c foo bar baz] then fail;
  2970. X    if [not [match_mask %.c foo.o bar.c baz.y]] then fail;
  2971. X}
  2972. Xfoobar
  2973. Xif test $? -ne 0 ; then fail; fi
  2974. X
  2975. X$here/bin/cook -nl
  2976. Xif test $? -ne 0 ; then fail; fi
  2977. X
  2978. X# probably OK
  2979. Xpass
  2980. END_OF_FILE
  2981. if test 1319 -ne `wc -c <'test/00/t0020a.sh'`; then
  2982.     echo shar: \"'test/00/t0020a.sh'\" unpacked with wrong size!
  2983. fi
  2984. # end of 'test/00/t0020a.sh'
  2985. fi
  2986. if test -f 'test/00/t0021a.sh' -a "${1}" != "-c" ; then 
  2987.   echo shar: Will not clobber existing file \"'test/00/t0021a.sh'\"
  2988. else
  2989. echo shar: Extracting \"'test/00/t0021a.sh'\" \(1282 characters\)
  2990. sed "s/^X//" >'test/00/t0021a.sh' <<'END_OF_FILE'
  2991. X#! /bin/sh
  2992. X#
  2993. X#    cook - file construction tool
  2994. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  2995. X#    All rights reserved.
  2996. X#
  2997. X#    This program is free software; you can redistribute it and/or modify
  2998. X#    it under the terms of the GNU General Public License as published by
  2999. X#    the Free Software Foundation; either version 2 of the License, or
  3000. X#    (at your option) any later version.
  3001. X#
  3002. X#    This program is distributed in the hope that it will be useful,
  3003. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3004. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3005. X#    GNU General Public License for more details.
  3006. X#
  3007. X#    You should have received a copy of the GNU General Public License
  3008. X#    along with this program; if not, write to the Free Software
  3009. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3010. X#
  3011. X# MANIFEST: test the "mtime" builtin function
  3012. X#
  3013. Xtmp=/tmp/$$
  3014. Xhere=`pwd`
  3015. X
  3016. Xfail()
  3017. X{
  3018. X    echo 'FAILED test of builtin function "mtime"' 1>&2
  3019. X    cd $here
  3020. X    rm -rf $tmp
  3021. X    exit 1
  3022. X}
  3023. Xpass()
  3024. X{
  3025. X    cd $here
  3026. X    rm -rf $tmp
  3027. X    exit 0
  3028. X}
  3029. Xtrap "fail" 1 2 3 15
  3030. X
  3031. Xmkdir $tmp
  3032. Xcd $tmp
  3033. X
  3034. Xcat > Howto.cook <<foobar
  3035. Xtest:
  3036. X{
  3037. X    if [mtime not_there] then fail;
  3038. X    if [not [mtime Howto.cook]] then fail;
  3039. X}
  3040. Xfoobar
  3041. Xif test $? -ne 0 ; then fail; fi
  3042. X
  3043. X$here/bin/cook -nl
  3044. Xif test $? -ne 0 ; then fail; fi
  3045. X
  3046. X# probably OK
  3047. Xpass
  3048. END_OF_FILE
  3049. if test 1282 -ne `wc -c <'test/00/t0021a.sh'`; then
  3050.     echo shar: \"'test/00/t0021a.sh'\" unpacked with wrong size!
  3051. fi
  3052. # end of 'test/00/t0021a.sh'
  3053. fi
  3054. if test -f 'test/00/t0022a.sh' -a "${1}" != "-c" ; then 
  3055.   echo shar: Will not clobber existing file \"'test/00/t0022a.sh'\"
  3056. else
  3057. echo shar: Extracting \"'test/00/t0022a.sh'\" \(1286 characters\)
  3058. sed "s/^X//" >'test/00/t0022a.sh' <<'END_OF_FILE'
  3059. X#! /bin/sh
  3060. X#
  3061. X#    cook - file construction tool
  3062. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3063. X#    All rights reserved.
  3064. X#
  3065. X#    This program is free software; you can redistribute it and/or modify
  3066. X#    it under the terms of the GNU General Public License as published by
  3067. X#    the Free Software Foundation; either version 2 of the License, or
  3068. X#    (at your option) any later version.
  3069. X#
  3070. X#    This program is distributed in the hope that it will be useful,
  3071. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3072. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3073. X#    GNU General Public License for more details.
  3074. X#
  3075. X#    You should have received a copy of the GNU General Public License
  3076. X#    along with this program; if not, write to the Free Software
  3077. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3078. X#
  3079. X# MANIFEST: test the "not" builtin function
  3080. X#
  3081. Xtmp=/tmp/$$
  3082. Xhere=`pwd`
  3083. X
  3084. Xfail()
  3085. X{
  3086. X    echo 'FAILED test of builtin function "not"' 1>&2
  3087. X    cd $here
  3088. X    rm -rf $tmp
  3089. X    exit 1
  3090. X}
  3091. Xpass()
  3092. X{
  3093. X    cd $here
  3094. X    rm -rf $tmp
  3095. X    exit 0
  3096. X}
  3097. Xtrap "fail" 1 2 3 15
  3098. X
  3099. Xmkdir $tmp
  3100. Xcd $tmp
  3101. X
  3102. Xcat > Howto.cook <<foobar
  3103. Xtest:
  3104. X{
  3105. X    if [not [not]] then fail;
  3106. X    if [not foo] then fail;
  3107. X    if [not [not 0]] then fail;
  3108. X}
  3109. Xfoobar
  3110. Xif test $? -ne 0 ; then fail; fi
  3111. X
  3112. X$here/bin/cook -nl
  3113. Xif test $? -ne 0 ; then fail; fi
  3114. X
  3115. X# probably OK
  3116. Xpass
  3117. END_OF_FILE
  3118. if test 1286 -ne `wc -c <'test/00/t0022a.sh'`; then
  3119.     echo shar: \"'test/00/t0022a.sh'\" unpacked with wrong size!
  3120. fi
  3121. # end of 'test/00/t0022a.sh'
  3122. fi
  3123. if test -f 'test/00/t0023a.sh' -a "${1}" != "-c" ; then 
  3124.   echo shar: Will not clobber existing file \"'test/00/t0023a.sh'\"
  3125. else
  3126. echo shar: Extracting \"'test/00/t0023a.sh'\" \(1317 characters\)
  3127. sed "s/^X//" >'test/00/t0023a.sh' <<'END_OF_FILE'
  3128. X#! /bin/sh
  3129. X#
  3130. X#    cook - file construction tool
  3131. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3132. X#    All rights reserved.
  3133. X#
  3134. X#    This program is free software; you can redistribute it and/or modify
  3135. X#    it under the terms of the GNU General Public License as published by
  3136. X#    the Free Software Foundation; either version 2 of the License, or
  3137. X#    (at your option) any later version.
  3138. X#
  3139. X#    This program is distributed in the hope that it will be useful,
  3140. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3141. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3142. X#    GNU General Public License for more details.
  3143. X#
  3144. X#    You should have received a copy of the GNU General Public License
  3145. X#    along with this program; if not, write to the Free Software
  3146. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3147. X#
  3148. X# MANIFEST: test the "or" builtin function
  3149. X#
  3150. Xtmp=/tmp/$$
  3151. Xhere=`pwd`
  3152. X
  3153. Xfail()
  3154. X{
  3155. X    echo 'FAILED test of builtin function "or"' 1>&2
  3156. X    cd $here
  3157. X    rm -rf $tmp
  3158. X    exit 1
  3159. X}
  3160. Xpass()
  3161. X{
  3162. X    cd $here
  3163. X    rm -rf $tmp
  3164. X    exit 0
  3165. X}
  3166. Xtrap "fail" 1 2 3 15
  3167. X
  3168. Xmkdir $tmp
  3169. Xcd $tmp
  3170. X
  3171. Xcat > Howto.cook <<foobar
  3172. Xtest:
  3173. X{
  3174. X    if [or 0 0] then fail;
  3175. X    if [not [or 0 1]] then fail;
  3176. X    if [not [or 1 0]] then fail;
  3177. X    if [not [or 1 1]] then fail;
  3178. X}
  3179. Xfoobar
  3180. Xif test $? -ne 0 ; then fail; fi
  3181. X
  3182. X$here/bin/cook -nl
  3183. Xif test $? -ne 0 ; then fail; fi
  3184. X
  3185. X# probably OK
  3186. Xpass
  3187. END_OF_FILE
  3188. if test 1317 -ne `wc -c <'test/00/t0023a.sh'`; then
  3189.     echo shar: \"'test/00/t0023a.sh'\" unpacked with wrong size!
  3190. fi
  3191. # end of 'test/00/t0023a.sh'
  3192. fi
  3193. if test -f 'test/00/t0025a.sh' -a "${1}" != "-c" ; then 
  3194.   echo shar: Will not clobber existing file \"'test/00/t0025a.sh'\"
  3195. else
  3196. echo shar: Extracting \"'test/00/t0025a.sh'\" \(1259 characters\)
  3197. sed "s/^X//" >'test/00/t0025a.sh' <<'END_OF_FILE'
  3198. X#! /bin/sh
  3199. X#
  3200. X#    cook - file construction tool
  3201. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3202. X#    All rights reserved.
  3203. X#
  3204. X#    This program is free software; you can redistribute it and/or modify
  3205. X#    it under the terms of the GNU General Public License as published by
  3206. X#    the Free Software Foundation; either version 2 of the License, or
  3207. X#    (at your option) any later version.
  3208. X#
  3209. X#    This program is distributed in the hope that it will be useful,
  3210. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3211. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3212. X#    GNU General Public License for more details.
  3213. X#
  3214. X#    You should have received a copy of the GNU General Public License
  3215. X#    along with this program; if not, write to the Free Software
  3216. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3217. X#
  3218. X# MANIFEST: test the "prepost" builtin function
  3219. X#
  3220. Xtmp=/tmp/$$
  3221. Xhere=`pwd`
  3222. X
  3223. Xfail()
  3224. X{
  3225. X    echo 'FAILED test of builtin function "prepost"' 1>&2
  3226. X    cd $here
  3227. X    rm -rf $tmp
  3228. X    exit 1
  3229. X}
  3230. Xpass()
  3231. X{
  3232. X    cd $here
  3233. X    rm -rf $tmp
  3234. X    exit 0
  3235. X}
  3236. Xtrap "fail" 1 2 3 15
  3237. X
  3238. Xmkdir $tmp
  3239. Xcd $tmp
  3240. X
  3241. Xcat > Howto.cook <<foobar
  3242. Xtest:
  3243. X{
  3244. X    if [not [in [prepost a b c] acb]] then fail;
  3245. X}
  3246. Xfoobar
  3247. Xif test $? -ne 0 ; then fail; fi
  3248. X
  3249. X$here/bin/cook -nl
  3250. Xif test $? -ne 0 ; then fail; fi
  3251. X
  3252. X# probably OK
  3253. Xpass
  3254. END_OF_FILE
  3255. if test 1259 -ne `wc -c <'test/00/t0025a.sh'`; then
  3256.     echo shar: \"'test/00/t0025a.sh'\" unpacked with wrong size!
  3257. fi
  3258. # end of 'test/00/t0025a.sh'
  3259. fi
  3260. if test -f 'test/00/t0026a.sh' -a "${1}" != "-c" ; then 
  3261.   echo shar: Will not clobber existing file \"'test/00/t0026a.sh'\"
  3262. else
  3263. echo shar: Extracting \"'test/00/t0026a.sh'\" \(1323 characters\)
  3264. sed "s/^X//" >'test/00/t0026a.sh' <<'END_OF_FILE'
  3265. X#! /bin/sh
  3266. X#
  3267. X#    cook - file construction tool
  3268. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3269. X#    All rights reserved.
  3270. X#
  3271. X#    This program is free software; you can redistribute it and/or modify
  3272. X#    it under the terms of the GNU General Public License as published by
  3273. X#    the Free Software Foundation; either version 2 of the License, or
  3274. X#    (at your option) any later version.
  3275. X#
  3276. X#    This program is distributed in the hope that it will be useful,
  3277. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3278. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3279. X#    GNU General Public License for more details.
  3280. X#
  3281. X#    You should have received a copy of the GNU General Public License
  3282. X#    along with this program; if not, write to the Free Software
  3283. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3284. X#
  3285. X# MANIFEST: test the "quote" builtin function
  3286. X#
  3287. Xtmp=/tmp/$$
  3288. Xhere=`pwd`
  3289. X
  3290. Xfail()
  3291. X{
  3292. X    echo 'FAILED test of builtin function "quote"' 1>&2
  3293. X    cd $here
  3294. X    rm -rf $tmp
  3295. X    exit 1
  3296. X}
  3297. Xpass()
  3298. X{
  3299. X    cd $here
  3300. X    rm -rf $tmp
  3301. X    exit 0
  3302. X}
  3303. Xtrap "fail" 1 2 3 15
  3304. X
  3305. Xmkdir $tmp
  3306. Xcd $tmp
  3307. X
  3308. Xcat > Howto.cook <<foobar
  3309. Xtest:
  3310. X{
  3311. X    if [not [in [quote snot] '"snot"']] then fail;
  3312. X    if [not [in [quote [quote snot]] '"\\\\"snot\\\\""']] then fail;
  3313. X}
  3314. Xfoobar
  3315. Xif test $? -ne 0 ; then fail; fi
  3316. X
  3317. X$here/bin/cook -nl
  3318. Xif test $? -ne 0 ; then fail; fi
  3319. X
  3320. X# probably OK
  3321. Xpass
  3322. END_OF_FILE
  3323. if test 1323 -ne `wc -c <'test/00/t0026a.sh'`; then
  3324.     echo shar: \"'test/00/t0026a.sh'\" unpacked with wrong size!
  3325. fi
  3326. # end of 'test/00/t0026a.sh'
  3327. fi
  3328. if test -f 'test/00/t0028a.sh' -a "${1}" != "-c" ; then 
  3329.   echo shar: Will not clobber existing file \"'test/00/t0028a.sh'\"
  3330. else
  3331. echo shar: Extracting \"'test/00/t0028a.sh'\" \(1256 characters\)
  3332. sed "s/^X//" >'test/00/t0028a.sh' <<'END_OF_FILE'
  3333. X#! /bin/sh
  3334. X#
  3335. X#    cook - file construction tool
  3336. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3337. X#    All rights reserved.
  3338. X#
  3339. X#    This program is free software; you can redistribute it and/or modify
  3340. X#    it under the terms of the GNU General Public License as published by
  3341. X#    the Free Software Foundation; either version 2 of the License, or
  3342. X#    (at your option) any later version.
  3343. X#
  3344. X#    This program is distributed in the hope that it will be useful,
  3345. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3346. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3347. X#    GNU General Public License for more details.
  3348. X#
  3349. X#    You should have received a copy of the GNU General Public License
  3350. X#    along with this program; if not, write to the Free Software
  3351. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3352. X#
  3353. X# MANIFEST: test the "tail" builtin function
  3354. X#
  3355. Xtmp=/tmp/$$
  3356. Xhere=`pwd`
  3357. X
  3358. Xfail()
  3359. X{
  3360. X    echo 'FAILED test of builtin function "tail"' 1>&2
  3361. X    cd $here
  3362. X    rm -rf $tmp
  3363. X    exit 1
  3364. X}
  3365. Xpass()
  3366. X{
  3367. X    cd $here
  3368. X    rm -rf $tmp
  3369. X    exit 0
  3370. X}
  3371. Xtrap "fail" 1 2 3 15
  3372. X
  3373. Xmkdir $tmp
  3374. Xcd $tmp
  3375. X
  3376. Xcat > Howto.cook <<foobar
  3377. Xtest:
  3378. X{
  3379. X    if [not [in [count [tail a b c]] 2]] then fail;
  3380. X}
  3381. Xfoobar
  3382. Xif test $? -ne 0 ; then fail; fi
  3383. X
  3384. X$here/bin/cook -nl
  3385. Xif test $? -ne 0 ; then fail; fi
  3386. X
  3387. X# probably OK
  3388. Xpass
  3389. END_OF_FILE
  3390. if test 1256 -ne `wc -c <'test/00/t0028a.sh'`; then
  3391.     echo shar: \"'test/00/t0028a.sh'\" unpacked with wrong size!
  3392. fi
  3393. # end of 'test/00/t0028a.sh'
  3394. fi
  3395. if test -f 'test/00/t0029a.sh' -a "${1}" != "-c" ; then 
  3396.   echo shar: Will not clobber existing file \"'test/00/t0029a.sh'\"
  3397. else
  3398. echo shar: Extracting \"'test/00/t0029a.sh'\" \(1221 characters\)
  3399. sed "s/^X//" >'test/00/t0029a.sh' <<'END_OF_FILE'
  3400. X#! /bin/sh
  3401. X#
  3402. X#    cook - file construction tool
  3403. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3404. X#    All rights reserved.
  3405. X#
  3406. X#    This program is free software; you can redistribute it and/or modify
  3407. X#    it under the terms of the GNU General Public License as published by
  3408. X#    the Free Software Foundation; either version 2 of the License, or
  3409. X#    (at your option) any later version.
  3410. X#
  3411. X#    This program is distributed in the hope that it will be useful,
  3412. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3413. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3414. X#    GNU General Public License for more details.
  3415. X#
  3416. X#    You should have received a copy of the GNU General Public License
  3417. X#    along with this program; if not, write to the Free Software
  3418. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3419. X#
  3420. X# MANIFEST: test the cook -Book option
  3421. X#
  3422. Xtmp=/tmp/$$
  3423. Xhere=`pwd`
  3424. X
  3425. Xfail()
  3426. X{
  3427. X    echo 'FAILED test of the cook -Book option' 1>&2
  3428. X    cd $here
  3429. X    rm -rf $tmp
  3430. X    exit 1
  3431. X}
  3432. Xpass()
  3433. X{
  3434. X    cd $here
  3435. X    rm -rf $tmp
  3436. X    exit 0
  3437. X}
  3438. Xtrap "fail" 1 2 3 15
  3439. X
  3440. Xmkdir $tmp
  3441. Xcd $tmp
  3442. X
  3443. Xcat > barf <<foobar
  3444. Xtest:
  3445. X{
  3446. X    echo "Hi, Mom";
  3447. X}
  3448. Xfoobar
  3449. Xif test $? -ne 0 ; then fail; fi
  3450. X
  3451. X$here/bin/cook -book barf -nl
  3452. Xif test $? -ne 0 ; then fail; fi
  3453. X
  3454. X# probably OK
  3455. Xpass
  3456. END_OF_FILE
  3457. if test 1221 -ne `wc -c <'test/00/t0029a.sh'`; then
  3458.     echo shar: \"'test/00/t0029a.sh'\" unpacked with wrong size!
  3459. fi
  3460. # end of 'test/00/t0029a.sh'
  3461. fi
  3462. if test -f 'test/00/t0033a.sh' -a "${1}" != "-c" ; then 
  3463.   echo shar: Will not clobber existing file \"'test/00/t0033a.sh'\"
  3464. else
  3465. echo shar: Extracting \"'test/00/t0033a.sh'\" \(1095 characters\)
  3466. sed "s/^X//" >'test/00/t0033a.sh' <<'END_OF_FILE'
  3467. X#! /bin/sh
  3468. X#
  3469. X#    cook - file construction tool
  3470. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3471. X#    All rights reserved.
  3472. X#
  3473. X#    This program is free software; you can redistribute it and/or modify
  3474. X#    it under the terms of the GNU General Public License as published by
  3475. X#    the Free Software Foundation; either version 2 of the License, or
  3476. X#    (at your option) any later version.
  3477. X#
  3478. X#    This program is distributed in the hope that it will be useful,
  3479. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3480. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3481. X#    GNU General Public License for more details.
  3482. X#
  3483. X#    You should have received a copy of the GNU General Public License
  3484. X#    along with this program; if not, write to the Free Software
  3485. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3486. X#
  3487. X# MANIFEST: test the c_incl program
  3488. X#
  3489. X
  3490. Xfail()
  3491. X{
  3492. X    echo 'FAILED test of the c_incl program' 1>&2
  3493. X    exit 1
  3494. X}
  3495. Xpass()
  3496. X{
  3497. X    exit 0
  3498. X}
  3499. Xtrap "fail" 1 2 3 15
  3500. X
  3501. Xfoo='dummy!@#$%file'
  3502. X
  3503. Xbin/c_incl -nc $foo
  3504. Xif test $? -ne 1 ; then fail; fi
  3505. X
  3506. Xbin/c_incl -nc -eia $foo
  3507. Xif test $? -ne 0 ; then fail; fi
  3508. X
  3509. Xpass
  3510. END_OF_FILE
  3511. if test 1095 -ne `wc -c <'test/00/t0033a.sh'`; then
  3512.     echo shar: \"'test/00/t0033a.sh'\" unpacked with wrong size!
  3513. fi
  3514. # end of 'test/00/t0033a.sh'
  3515. fi
  3516. if test -f 'test/00/t0035a.sh' -a "${1}" != "-c" ; then 
  3517.   echo shar: Will not clobber existing file \"'test/00/t0035a.sh'\"
  3518. else
  3519. echo shar: Extracting \"'test/00/t0035a.sh'\" \(1317 characters\)
  3520. sed "s/^X//" >'test/00/t0035a.sh' <<'END_OF_FILE'
  3521. X#! /bin/sh
  3522. X#
  3523. X#    cook - file construction tool
  3524. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3525. X#    All rights reserved.
  3526. X#
  3527. X#    This program is free software; you can redistribute it and/or modify
  3528. X#    it under the terms of the GNU General Public License as published by
  3529. X#    the Free Software Foundation; either version 2 of the License, or
  3530. X#    (at your option) any later version.
  3531. X#
  3532. X#    This program is distributed in the hope that it will be useful,
  3533. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3534. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3535. X#    GNU General Public License for more details.
  3536. X#
  3537. X#    You should have received a copy of the GNU General Public License
  3538. X#    along with this program; if not, write to the Free Software
  3539. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3540. X#
  3541. X# MANIFEST: test the %0 pattern, it must not match absolute paths
  3542. X#
  3543. Xtmp=/tmp/$$
  3544. Xhere=`pwd`
  3545. X
  3546. Xfail()
  3547. X{
  3548. X    echo 'FAILED test of the "%0" pattern' 1>&2
  3549. X    cd $here
  3550. X    rm -rf $tmp
  3551. X    exit 1
  3552. X}
  3553. Xpass()
  3554. X{
  3555. X    cd $here
  3556. X    rm -rf $tmp
  3557. X    exit 0
  3558. X}
  3559. Xtrap "fail" 1 2 3 15
  3560. X
  3561. Xmkdir $tmp
  3562. Xcd $tmp
  3563. X
  3564. Xcat > Howto.cook << 'foobar'
  3565. Xtest:
  3566. X{
  3567. X    if [match_mask %0%1  /foo/bar] then fail;
  3568. X    if [not [match_mask /%0%1 /foo/bar ]] then fail;
  3569. X}
  3570. Xfoobar
  3571. Xif test $? -ne 0 ; then fail; fi
  3572. X
  3573. X$here/bin/cook -nl
  3574. Xif test $? -ne 0 ; then fail; fi
  3575. X
  3576. X# probably OK
  3577. Xpass
  3578. END_OF_FILE
  3579. if test 1317 -ne `wc -c <'test/00/t0035a.sh'`; then
  3580.     echo shar: \"'test/00/t0035a.sh'\" unpacked with wrong size!
  3581. fi
  3582. # end of 'test/00/t0035a.sh'
  3583. fi
  3584. if test -f 'test/00/t0036a.sh' -a "${1}" != "-c" ; then 
  3585.   echo shar: Will not clobber existing file \"'test/00/t0036a.sh'\"
  3586. else
  3587. echo shar: Extracting \"'test/00/t0036a.sh'\" \(1272 characters\)
  3588. sed "s/^X//" >'test/00/t0036a.sh' <<'END_OF_FILE'
  3589. X#! /bin/sh
  3590. X#
  3591. X#    cook - file construction tool
  3592. X#    Copyright (C) 1990, 1991, 1992, 1993 Peter Miller.
  3593. X#    All rights reserved.
  3594. X#
  3595. X#    This program is free software; you can redistribute it and/or modify
  3596. X#    it under the terms of the GNU General Public License as published by
  3597. X#    the Free Software Foundation; either version 2 of the License, or
  3598. X#    (at your option) any later version.
  3599. X#
  3600. X#    This program is distributed in the hope that it will be useful,
  3601. X#    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3602. X#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3603. X#    GNU General Public License for more details.
  3604. X#
  3605. X#    You should have received a copy of the GNU General Public License
  3606. X#    along with this program; if not, write to the Free Software
  3607. X#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  3608. X#
  3609. X# MANIFEST: test the %1, etc, patterns
  3610. X# they may not match the empty string
  3611. X#
  3612. Xtmp=/tmp/$$
  3613. Xhere=`pwd`
  3614. X
  3615. Xfail()
  3616. X{
  3617. X    echo 'FAILED test of "%n" patterns' 1>&2
  3618. X    cd $here
  3619. X    rm -rf $tmp
  3620. X    exit 1
  3621. X}
  3622. Xpass()
  3623. X{
  3624. X    cd $here
  3625. X    rm -rf $tmp
  3626. X    exit 0
  3627. X}
  3628. Xtrap "fail" 1 2 3 15
  3629. X
  3630. Xmkdir $tmp
  3631. Xcd $tmp
  3632. X
  3633. Xcat > Howto.cook << 'foobar'
  3634. Xtest:
  3635. X{
  3636. X    if [match_mask %1/%2  /foo] then fail;
  3637. X}
  3638. Xfoobar
  3639. Xif test $? -ne 0 ; then fail; fi
  3640. X
  3641. X$here/bin/cook -nl
  3642. Xif test $? -ne 0 ; then fail; fi
  3643. X
  3644. X# probably OK
  3645. Xpass
  3646. END_OF_FILE
  3647. if test 1272 -ne `wc -c <'test/00/t0036a.sh'`; then
  3648.     echo shar: \"'test/00/t0036a.sh'\" unpacked with wrong size!
  3649. fi
  3650. # end of 'test/00/t0036a.sh'
  3651. fi
  3652. echo shar: End of archive 1 \(of 11\).
  3653. cp /dev/null ark1isdone
  3654. MISSING=""
  3655. for I in 1 2 3 4 5 6 7 8 9 10 11 ; do
  3656.     if test ! -f ark${I}isdone ; then
  3657.     MISSING="${MISSING} ${I}"
  3658.     fi
  3659. done
  3660. if test "${MISSING}" = "" ; then
  3661.     echo You have unpacked all 11 archives.
  3662.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  3663. else
  3664.     echo You still need to unpack the following archives:
  3665.     echo "        " ${MISSING}
  3666. fi
  3667. ##  End of shell archive.
  3668. exit 0
  3669.